Photo by Tapio Haaja on Unsplash

[Ed] Chương trình Master of Machine Learning, Data Science and Artificial Intelligence (Macadamia) tại trường Aalto University, Phần Lan [Part 1]

Trung-Duy Ng

--

Hey, hey, hey, sau bài viết review về chương trình Master Data Science tại trường X — Paris, Pháp , mình đã nhận được rất nhiều ý kiến và support từ mọi người, mình rất cảm kích và chân thành cám ơn các bạn đã quan tâm. Trong bài viết này mình sẽ review về chương trình học Thạc sỹ Machine Learning, Data …. mọe, cái tên gì mà dài ngoẹo mà toàn buzzword vậy, khó chịu vãi!!!!

Sau đây là những nguồn mình tham khảo để thực hiện bài viết này:

  1. Trang chủ chương trình Macadamia cho giai đoạn 2018–2020 tại trường Aalto University: Bài viết sẽ dựa hoàn toàn vào những thông tin được đăng tải trên trang này
  2. Weboodi: Trang đăng tải thông tin về các khóa học của trường Aalto Uni
  3. MyCourse: Cũng là về thông tin chi tiết khóa học, nhưng mình thích trang này hơn vì nó rất chi tiết gồm syllabus, slides & lectures, assignments. Chỉ cần tìm theo mã môn học thì sẽ ra tất cả mọi thông tin, bạn ngồi ở nhà tự học luôn cũng được
  4. Tenttiarkisto.fi: Trang này có vẻ không chính thức lắm nhưng chứa toàn bộ các Exams từ các năm trước. Bạn có thể ôn tập tại đây, cũng tìm theo mã môn học như trên Weboodi và MyCourse.

Rất lười nhưng vẫn phải type lời warning này lại nhiều lần: Lúc nào mình cũng yêu cầu các bạn đọc và tìm hiểu thông tin trước khi đọc bài review cá nhân của mình (nguồn đã có ở trên). Yêu cầu các bạn có góc nhìn cá nhân của các bạn trước để mà còn đồng ý hay phản đối bài viết của mình. Bài viết của mình dựa trên kinh nghiệm cá nhân chủ quan và không đại diện cho số đông. Lưu ý chương trình tại trường Aalto sẽ được cập nhật liên tục và bài viết này được thực hiện ngay tại thời điểm intake 2019–2020 nên rất có thể thông tin sẽ không còn chính xác trong tương lai.

Ok, không dài dòng vào vấn đề chính luôn nhé

I. Cấu trúc chương trình

Đây là 1 chương trình Master fulltime 2 năm với tổng cộng số tín chỉ là 120ETCS (như mọi chương trình Master of Science khác). Trong đó thành phần các credits được chia ra như sau:

  1. Major Courses (55–65 credits): gồm những môn mandatory (bắt buộc) của chương trình, 1 cách hiểu khác là cái core, cái linh hồn của 1 program. Program xịn hay chuối thì phụ thuộc phần lớn vào cái core này. Nên mình sẽ review kỹ phần này.
  2. Elective Studies (25–35 credits): Gồm những môn tự chọn. Vì nó mang tính chất tự chọn nên mình sẽ không review mà chỉ đưa ra những lời khuyên. Tùy định hướng mà các bạn có thể tham khảo (bôi đậm cái chữ tham khảo kẻo mấy ông lại bảo tui xúi đi bốc bát họ). Ví dụ: học mấy cái core thấy chưa phê thì học tiếp mấy skills advanced HOẶC ăn hành ngập họng mấy môn core thì phải lựa mấy môn bê đê kiếm điểm bù lại.
  3. Thesis (30 credits): Làm nghiên cứu với Profs hoặc làm Industry Internship (trường hợp này cần thằng industry advisor phải có ít nhất bằng Master). Outcome cuối cùng là phải derive được cái thesis (khác với Master coursework nhé)

Học phí: 15,000 EURO/năm khá chát nếu không có học bổng. Rất may là Aalto cho rất nhiều học bổng (việc ăn được hay không là do ăn ở của mấy bạn)=))

Ngôn ngữ giảng dạy: 100% English

Schedule các period trong các terms cho intake 2019–2020

1 điều là các bạn nên lưu ý là các courses sẽ start ở các period khác nhau trong cùng 1 term nên nhớ cẩn thận lên kế hoạch chọn môn cho cẩn thận nhé. Các môn khó nhằn thì nên start ở các period khác nhau để giảm tải cho việc ôn tập.

II. Major Courses

Trong phần các môn core sẽ chia ra làm 2 phần . Phần 1 là các môn core bắt buộc phải học, phần 2 cũng là core nhưng bạn lại được lựa chọn kiểu được đào sâu hơn vào các Advanced topics.

Các môn Major Compulsory

Hình trên là các môn bắt buộc các bạn phải học, không có cách nào mà né được hết, mình sẽ phân tích theo period nhé:

Period I-II/ 1st year:

  1. CS-E3210 Machine Learning-Basic Principles : Như tên gọi của môn học rồi, toàn các basic concepts thôi nhưng là nền tảng rất quan trọng nếu sau này bạn không muốn trở thành 1 data scientist “lưu manh” (dạng chỉ biết pull code người khác về rồi chém gió). Có mấy Slides về Statistical Learning mình thấy khá chi tiết và thú vị.
  2. CS-E5710 Bayesian Data Analysis : Với tư cách là 1 người cuồng Bayes thì đây là một điểm cộng lớn là Aalto chịu ép môn này thành môn bắt buộc (nhìn thử mấy trường Hà Lan — trừ các trường Hà Lan top — thì có ma nào dám chơi lớn vậy đâu). Course quá “xứt xắt” khi include vô Markov Chain Monte Carlo (MCMC), Laplace approximation nè, toàn là level cuối của 1 Data Scientist — Simulation. Course này hiện tại sẽ không có final exam, chỉ là làm assignment + project + oral presentation. Bài tập dùng R nhưng không yêu cầu code quá nhiều, có functions TA code sẵn rồi, bạn chỉ cần chạy và diễn dịch kết quả thôi
  3. CS-E4600 Algorithmic Methods of Data Mining : Tiếc thật, không có thông tin gì nhiều về course này. Nhưng theo mô tả thì cũng giống như từ các trường khác thôi, cũng học về Graph Analysis, Clustering, Association Rules, Distance Functions … Điều này đòi hỏi các bạn cần có kiến thức nền tảng ở các môn từ bậc đại học rồi (Graph Theory, Data Structures & Algorithms). Mình xem cái final exam của các năm trước thì thấy hơi bị “đuối” nha =))

Period III-IV/ 1st year:

  1. CS-E4820 Machine Learning: Advanced Probabilistic Methods : Suýt nữa là định khẩu nghiệp khi review khóa CS-Ẹ710 ở trên rồi. Nhưng kéo xuống thấy khóa này thì may là không bị hố. Thực chất khóa này là tập 2 của Bayes Data Analysis khi bạn được học sâu thêm vào Gaussian Mixture Models, Bayes Nets …. (nãy ở trên review không thấy mấy topic này nên định chửi). Dân data học hành bài bản thì không thể thiếu kiến thức Bayes/probabilistic đâu nhé các bạn. Đềfinal exam cũng khá “thú vị” (thú dành cho thú tính, vị là vị cay đắng khi rớt môn)

Trường và các program tốt về Data Science luôn chú trọng và dạy rất kỹ về Probabilistics Models, và Aalto University cũng nằm trong số đó.

2. CS-E4830 Kernel Methods in Machine Learning : Phải nói rằng ai là fan theo trường phái Machine Learning cổ điển đa phần đều rất đam mê nghiên cứu về Kernel Methods, đáng buồn là topic này bây giờ nhiều trường chỉ dạy gói gọn trong 1 chapter thôi chứ không mở hẳn thành 1 khóa như Aalto. Nên đây chắc chắn là 1 điểm cộng cho dân mê toán tư duy nè. Cơ bản là môn này dạy ở đâu thì nó cũng sẽ khó thôi vì nó đòi hỏi trí tưởng tượng của bạn sẽ cao đấy, tốt nhất là chuẩn bị background thật chắc như: Linear Algebra, SVMs và Fundamentals of Optimization nhé. Course này có rất nhiều Final Exam từ những năm trước đó, bạn có thể lập kế hoạch tự học và ôn tập trước.

3. CS-E4890 Deep Learning : Cái môn nói nhiều quá riết nhàm rồi, mình chỉ nhận xét là course cũng như bao course khác như những trường khác, không có quá hardcore như bên Pháp và Đức thôi, cá nhân mình thấy nội dung chán hơn Course của Stanford. Điểm hay là assignments sẽ thực hành bằng Pytorch nha, final project sẽ tự chọn đề tài, dataset và áp dụng Deep Learning model vào. Chẳng mấy khi mà tự nhiên mấy bạn có động lực làm project để build profile CV của mình đâu nên hãy nắm lấy cơ hội này nhé. Final exams thì chắc thuộc hàng dễ nhất so với mấy môn mandatory ở trên (đối với mấy thằng ngáo “deep learning” thôi nha)

Môn Deep Learning ở Aalto không thực sự nổi bật và không thể vượt qua cái bóng quá lớn của Stanford

Hình minh họa final exam môn Deep Learning =))

2nd year

CS-E4870 Research Project in Machine Learning and Data Science

Không biết ai đọc bài viết này của mình là fan của Amazing Race (Cuộc đua kỳ thú)không ha? Trong Amazing race thì có 1 thử thách gọi là “Nhảy cóc”, tức là bạn chỉ cần thực hiện duy nhất 1 thử thách đặc biệt trong suốt 1 episode là có thể về đích. Nó ngược lại với lựa chọn thực hiện “Lộ trình” là bạn phải thực hiện toàn bộ thử thách (thường nhẹ hơn thử thách Nhảy cóc) rồi mới về đích. Môn CS-E4870 này cũng vậy, tùy định hướng của bạn mà bạn sẽ lựa chọn chiến thuật của riêng mình.

  • Lựa chọn thực hiện “Lộ trình”: thường là dành cho mấy bạn có định hướng ra đi làm, coi môn này như 1 môn 5 credits như các môn khác. Chọn 1 topic nào đó rồi làm thành project, làm xong thì có 1 project bỏ vào CV, rồi kiếm internship, rồi tốt nghiệp ra đi làm. Cứ như vậy là đúng theo “quy trình”, á nhầm, lộ trình chứ :)) Nói chung là bình thường không có gì để bàn.
  • Lựa chọn thực hiện “Nhảy cóc”: hề hề, siêu nhân đẹp trai là nằm ở đây này. Tại sao? Vì sốcredits có thể lên tới 10 credits đó ạ, 1 môn học mở ở năm 2 (giai đoạn gần tốt nghiệp) mà lại có số credit cao như vậy thì các bạn phải tự đặt vấn đề chứ?! Đúng rồi, liều ăn nhiều la ̀đây nè, cái này thường chỉ dành cho các bạn có định hướng research làm PhD thôi nhé. Đó là nhờ môn này tranh thủ kiếm Profs phù hợp với hướng nghiên cứu của mình, làm thật là hardcore vào để lấy full 10 credits. Sau đó develop topic này lên thành thesis của mình luôn, thế là đỡ phải chạy đôn chạy đáo tìm internship/thesis topic ở kì sau, có Prof bảo kê cả rồi. Làm thesis cho tốt rồi Giáo mà ưng thì sẽ offer cho bạn 1 vị trí PhD candidate (nghe như chuyện cổ tích vậy)

Note: 1 tin vui cho nhóm chọn làm “Lộ trình”, các bạn có thể tận dụng thời gian hè năm 1 làm summer job rồi lấy topic đó để pass môn này.

III. Major Optional Courses

Các môn nằm trong core nhưng được tự chọn

Với thông tin như hình trên, các bạn sẽ được chọn các môn học trong 3 track chính với điều kiện phải đạt đủ số credits từ 20–30 credits (tương đương 4 đến 6 môn). Như mọi chương trình học, mình luôn đề cao và expect các chương trình mình review sẽ đem lại kiến thức cân bằng ở cả 2 khía cạnh là chiều sâu (chuyên ngành, đặc trưng nhất của ngành) và chiều rộng (kiến thức liên ngành bổ trợ tương hỗ - mutually inclusive). Như phần trên các môn core về Maths mình đánh giá khá tốt, thì ở phần này mình sẽ xem xét các môn học có thiên về chiều rộng không hay vẫn hướng theo chiều sâu nhé!

  • General Courses: Xuống phần review nhanh mình sẽ nói.
  • Bioinformatics: Hơi phi lý đúng không mọi người, tự nhiên chèn đâu ra mấy môn bên Bio vớ vẩn vậy trời. Nhưng nếu các bạn tìm hiểu kỹ lịch sử của trường thì các bạn sẽ biết là Aalto là 1 trường nghiên cứu rất mạnh về BioTech (có lẽ là chỉ sau Uni Helsinki ). Có thể sẽ không nhiều người theo track này, nhưng bạn nào có định hướng làm research lên PhD thì có thể nghía qua trước
  • Speech and Language: theo mình biết thì chương trình Signal, Speech and Language Processing (SSLP) 2018–2020 ngưng tuyển sinh rồi nên có vẻ trường muốn merge cả 2 chương trình này vào làm 1 thì phải? Finland là 1 nước cực kì phát triển về công nghệ viễn thông (telecomunication), nên các bạn hướng theo track này thì mình tin chắc cả 2 hướng research và industry đều mở rộng cho các bạn. Easter egg: Tìm hiểu 1 chút về Nokia và các research lab của họ nha

Review nhanh 1 số Courses trong block General Optional:

  1. CS-E4840 — Information Visualization : Nếu thảo mai mà nói thì Data Visualization là phần quan trọng của 1 Data Scientist để thuyết phục mọi người về insights được extract từ data. Nhưng xin lỗi, mình không phải dạng ấy. Trời má, sau khi ăn 1 rổ hành ngập họng từ cái đống Core Maths thì phải kiếm môn nào gỡ gạc lại chứ, mà môn này xác định chém gió ăn tiền cmnr =)) Có khùng mới không đăng ký môn này mọi người ơi
  2. CS-E5795 Computational Methods in Stochastics : Ai có định hướng trading thì chơi môn này nè (thật ra môn này còn ứng dụng vô nhiều ngành nữa). Cơ mà môn này có thể đi song song và bổ trợ với các môn trong Core Maths như CS-E4820, CS-E5710 . Nên nếu ai cuồng Bayes quá thì quất luôn trọn bộ 3 môn này là thành siêu nhân luôn đấy. Nhưng cảnh báo trước là tự lượng sức nha, period I-II và học cùng 1 lúc môn này và CSE4820 là dễ “học máu” lắm nha.
  3. CS-E4850 Computer Vision : Không thích học Stochastics làm trading? vậy thì đây là sự lựa chọn thay thế cho các bạn đây. Xem qua slides thì thấy Course khá trực quan, hiểu được những fundamental concepts. Cái hay mà mình đánh giá cao là nội dung rất classic như 1 Computer Science class thật sự, không đú trend bỏ Deep Learning vào thành 1 chapter (dẹp mẹ DL giùm tui đi mấy ông êi, đi từ cái cơ bản trước cái đã)
  4. CS-E4004 Individual Studies in Computer Science : Lại 1 môn làm project kiếm credits và build portfolio, CV.
  5. CS-E4070 Special Course in Machine Learning and Data Science : Cái môn này thì như chơi Vietlott vậy, do số mấy đứa ăn ở thế nào thôi. Mỗi năm sẽ có 1 topic nghiên cứu riêng trong suốt môn học, năm ngoái thì là Gaussian Processes mình thấy thú vị. Còn có năm topic trên trời dưới đất 😄 . Thôi cứ xem coi topic như thế nào rồi hẳn đăng ký nhé.

Chỉ tính riêng các môn Major Courses, các sinh viên ở Aalto có không dưới 4 cơ hội để làm các projects về Data/ML/AI, một số lượng phải nói là khổng lồ để build CV gây ấn tượng cho nhà tuyển dụng để xin internship lẫn việc làm sau này, nhưng quan trọng hơn hết là kiến thức nhận lại được sau khi làm project là vô cùng quý giá.

IV. Kết luận phần 1:

Ở phần 1 này mình chủ yếu đánh giá các major courses là chính. Cảm nhận sơ qua là mình khá ưng chương trình này, tất nhiên rồi, học toàn toán ơi là toán không mà. Các bạn cũng có thể so sánh với chương trình tại trường X để thấy sự tương đồng giữa các “trường chuyên lớp chọn”, trục xương sống của các chương trình này đều xoay quanh Statistical/Probabilistic Learning và Inferential Stats , điều này cũng có nghĩa chương trình thật sự hướng đến cho bạn làm 1 Data scientist thực thụ đúng nghĩa. Đối với mấy bạn mà không thích toán lắm và muốn theo hướng ứng dụng nhiều hơn thì nên cân nhắc nhé. (dặn cũng hơi thừa vì ông nào vào Aalto mà chả siêu nhân siêu cấp vũ trụ về toán)

Xét trên mặt bằng chung thì mình có cảm nhận rằng chương trình về toán ở Aalto nói riêng và core Maths nói chung đỡ “khoai” hơn các trường ở Pháp và Đức (nhìn đề Exam thì không nhiều câu hàn lâm chứng minh bằng ở Pháp), nhưng nếu xét trong Phần Lan thì đây là 1 trong những chương trình super heavyweight về toán. Cá nhân lời khuyên của mình ở đây là nếu các bạn muốn đi đường dài thì nên chuẩn bị nền tảng toán cho thật tốt, và mình không nghi ngờ gì về chất lượng giảng dạy ở Aalto.

Part 2 có gì hot?

Như mình đã nói ở trên, cơ bản chương trình Macadamia ở Aalto thiên nặng về toán, nhưng nếu các bạn “không thích” hoặc muốn “né” toán (ở đây hiểu là chỉ muốn nạp lượng toán vừa đủ, không cần cao siêu, chứ học Data/AI mà không muốn học toán thì xin bạn dừng đọc ở đây, hôm nay lướt mạng đủ rồi, khôn như bạn thì quê mình đầy nhé) thì Part 2 mình sẽ bình luận chi tiết về các vấn đề ấy:

  1. Kết hợp các môn Core, major optional và electives như thế nào trong các periods như thế nào cho healthy và balance — hay còn gọi là Study plan ấy
  2. Học toán nhiều quá vậy thì với định hướng đi làm sẽ như thế nào? Thực tế ở Phần Lan có cần nhiều hardcore Data Scientist như vậy không?
  3. Điểm mạnh ở Aalto thì có đầy, vậy điểm yếu của chương trình này là điều gì? Khắc phục nó như thế nào? Any alternative option?
  4. Lan man cà khịa về hệ thống giáo dục Phần Lan

Để cập nhật bài viết mới nhất của mình thì các ghé qua FB page: Trung-Duy Ng nhé. Trong thời gian chờ đợi thì các bạn có thể join vào nhóm Vietnamese AI/Data Engineers and Scientists in Europe để thảo luận về cuộc sống, học tập, việc làm của những kỹ sư, nhà khoa học Việt Nam tại Châu Âu.

Disclaimer: Bài viết phản ánh ý kiến và trải nghiệm cá nhân, mọi người nên cân nhắc khi làm theo lời khuyên của người viết và bạn phải chịu trách nhiệm cho quyết định của mình. Bài viết sẽ có mang tính chất cà khịa ở một số khía cạnh với mục đích giải trí (thật ra câu view là chính), nhưng hoàn toàn không nhắm đến 1 cá nhân, tổ chức hay quốc gia nào. Again, mình không chịu trách nhiệm cho sự liên tưởng của các bạn.

--

--