19/09/2018, 14:50

Tôi đã tự học Deep Learning như thế nào

Nhân dịp TensorFlow vừa kỷ niệm 1 năm open source , mình viết bài này để kể lại 1 năm qua mình đã tự học Deep Learning như thế nào, vừa để tự tổng hợp kiến thức, vừa để cho các bạn nào quan tâm đến Machine Learning nói chung cũng như là Deep Learning nói riêng tham khảo. Mình là ...

Nhân dịp TensorFlow vừa kỷ niệm 1 năm open source, mình viết bài này để kể lại 1 năm qua mình đã tự học Deep Learning như thế nào, vừa để tự tổng hợp kiến thức, vừa để cho các bạn nào quan tâm đến Machine Learning nói chung cũng như là Deep Learning nói riêng tham khảo.

Mình là 1 kỹ sư bên server-side, công việc chủ yếu dùng Rails, SQL và hoàn toàn không liên quan gì đến Deep Learning. Mình học hoàn toàn vì sở thích và vì cũng dự đoán được phần nào những kỹ năng về mảng này sẽ rất hữu ích về sau này. Hồi đại học mình cũng có 1 năm làm nghiên cứu về nhận dạng âm thanh nên nếu nói là không có 1 chút kiến thức nào thì cũng không phải, nhưng thú thật hồi đó chỉ làm qua loa cho tốt nghiệp. Năm vừa rồi khi mà các công ty lớn tung ra hàng loạt các framework về Deep Learning, mình thấy đã đến lúc phải quay lại học cẩn thận.

Bắt đầu từ cơ bản Machine Learning

Mình học Machine Learning qua khoá của thầy Andrew Ng trên Coursera.

Link https://www.coursera.org/learn/machine-learning

Thầy Andrew Ng là 1 trong những người đầu ngành về cả Machine Learning và Deep Learning. Thầy Ng đã có thời gian dạy ở Stanford, 1 trong những người sáng lập Google Brain, và giờ làm Chief Scientist ở Baidu.

Khoá này thực sự rất hay cho người mới bắt đầu. Thầy Ng giảng cực kỳ chi tiết tất cả những khái niệm cần thiết, mở đầu bằng 1 ví dụ đơn giản như Linear Regression rồi đến những mô hình phức tạp hơn như Neural Network, SVM…

Qua khoá này mình đã nắm được cái lõi của Machine Learning, cũng như biết được nó có thể làm được những gì. Điều đáng tiếc 1 chút là bài tập được viết bằng Octave/Matlab – ngôn ngữ mà chủ yếu chỉ dùng trong nghiên cứu và ít khi được đưa vào các sản phẩm thực tiễn. Bạn có thể thấy khó khăn 1 chút khi học 1 ngôn ngữ hoàn toàn mới, nhưng yên tâm là Octave/Matlab khá dễ dùng và bài tập được thiết kế không quá khó.

Mình khuyên bạn nên học khoá này chung với vài người bạn, vừa để tạo động lực học, vừa để giúp đỡ nhau trong quá trình học. Thực tế là mình đã học cùng 1 vài người trong công ty và thay nhau giải thích đáp án của các bài tập: rất vui và hiệu quả.

Nếu bạn nào cảm thấy khó khăn trong việc giải các bài tập thì có thể tham khảo đáp án của mình đã được public trên GitHub.

Sẵn sàng cho Deep Learning

Học xong khoá Machine Learning trên chắc cũng mất khoảng 3 tháng. Sau đó mình nghỉ 1 thời gian rồi tiếp tục bước vào khoá thứ 2 về Deep Learning. Lần này mình chọn khoá Deep Learning trên Udacity do các kỹ sư của Google dạy.

Link https://www.udacity.com/course/deep-learning–ud730

Vâng, vì là các kỹ sư dạy nên mình cảm nhận là khoá này không được chi tiết như khoá của thầy Ng. Tất cả các video đều rất ngắn, và chỉ giới thiệu qua loa về các mô hình Neural Network trong Deep Learning. Mình có thể hiểu hết những gì trong video nói nhưng đến khi làm bài tập thì mới vỡ lẽ ra là chẳng hiểu gì cả

0