From Engineer to Researcher


#1

Chào các bạn, a/c. Gần đây mình đã thấy được một câu hỏi về việc làm thế nào để trở thành ML Engineer. Nhưng hiện giờ mình muốn hỏi thêm nữa làm sao từ một engineer trở thành researcher. Muốn thành researcher thì có nhất thiết phải học lên thành PhD hay ko, vì có một số môi trường doanh nghiệp vẫn tạo điều kiện để các kĩ sư nghiên cứu các giải pháp. Và việc học PhD có thêm được những lợi ích gì? Câu hỏi này rất mong có thêm sự góp ý từ anh Tiệp


Hướng nghiên cứu về ML/DL
#2

Có lẽ không cần PhD để thành researcher, nhưng có PhD thì khả năng nghiên cứu cao hơn người không có. Kiểu kiểu không có bằng đại học vẫn viết code được, nhưng đa số người viết code có bằng đại học. Tôi nghĩ để thành researcher và đi làm cùng lúc thì ngoài công việc trong hãng, thời gian rảnh nên đọc paper rồi viết lại code của paper và chạy thử coi mình có ra cùng kết quả không, làm riết mình sẽ tìm được những cải tiến mới. Ngoài ra mình nên có một người mentor để giúp mình hiểu một số concept cơ bản và giúp mình đi đúng đường. Tham gia trả lời câu hỏi trên diễn đàn cũng là một cách cũng cố những lỗ hổng kiến thức của mình. Nói chung tự học đương nhiên là khó hơn nhưng quyết tâm chắc làm được. (Cái này áp dụng cả cho những bạn có PhD)


#3

Mình nghĩa PhD không phải con đường duy nhất nhưng là con đường ngắn nhất và dễ đi nhất thành researcher


#4

Job description của 1 researcher:

  • Tìm tòi, phát triển kiến thức mới của một chuyên ngành.
  • Viết papers, technical reports để trình bày, tổng hợp kiến thức mới kể trên.
  • Thuyết trình về phát kiến của mình.

Để làm được 3 tasks trên 1 researcher tối thiểu cần có các yếu tố sau:

  • Hiểu biết sâu sắc nền tảng của chuyên ngành đang nghiên cứu. Ví dụ, nền tảng ấy được xây dựng dựa trên chủ đề toán học nào, chuyên ngành ấy tại sao lại đáng để nghiên cứu, nghiên cứu nó để nhằm giải quyết vấn đề gì…
  • Hiểu biết rộng về tiến bộ (state-of-the-art) của chuyên ngành ấy. Ví dụ, làm deep learning cho vision thì đừng chỉ quan tâm tới CNNs mà cũng nên biết qua LSTM chạy thế nào, tại sao spiking neural nets chưa phổ biến, các thuật toán gradient descents khác nhau ở chỗ nào, hay trong robotics thì vision được ứng dụng như thế nào, hoặc kết hợp vision với language trong cross-modal learning thì có khó khăn gì.
  • Hiểu biết sâu về một vài chủ đề trong chuyên ngành ấy. Luôn sẵn sàng trả lời câu hỏi: các vấn đề quan trọng nhất / khó nhất / có nhiều ứng dụng nhất / liên quan tới nhiều cái khác nhất / trừu tượng nhất /… trong chuyên ngành này là gì? Một trong những nguồn mình hay dùng để trả lời câu hỏi trên cũng như định hướng nghiên cứu cho bản thân là xem các workshop của các conference uy tín như NIPS, ICML. Ví dụ, mình đang nghiên cứu về reinforcement learning cho robotics thì ở NIPS 2018 có workshop tại https://sites.google.com/site/rlponips2018/, trong đó đặt ra các câu hỏi mà cộng đồng nghiên cứu đang quan tâm.
  • Hiểu biết sâu sắc về phương pháp nghiên cứu mà cộng đồng đã sử dụng để đạt được cái state-of-the-art kể trên. Ví dụ, thí nghiệm nên được thiết kế như thế nào để test các hypotheses, nếu là chứng minh toán học thì assumptions nào chấp nhận được để vừa dễ làm toán mà không quá xa rời thực tế, nếu là cải tiến architecture của network thì cải tiến này được xây dựng trên ý tưởng nào.
  • Kĩ năng trình bày, kĩ năng viết paper, vẽ hình minh họa, Latex / Word.
  • Kĩ năng thuyết trình.

Học PhD sẽ hỗ trợ các yếu tố nào:

  • Có môi trường học thuật để trao đổi hàng ngày thì sẽ nhanh chóng nắm bắt được sự phát triển của nhiều chủ đề.
  • (Thường) Có người góp ý về phương pháp nghiên cứu, giúp mình tránh go down the rabbit hole.
  • Quan trọng nhất là có sự hướng dẫn để define được concrete research goals. Một người thiếu kinh nghiệm thường không biết làm sao để đặt và giới hạn được một câu hỏi nghiên cứu phù hợp cho 1 paper / 1 PhD thesis.
  • Có nhóm nghiên cứu thì có (nhiều) người review paper giúp, cải thiện kĩ năng viết nhanh chóng.
  • Được rèn luyện và góp ý thường xuyên về kĩ năng thuyết trình.

Học PhD sẽ không hỗ trợ yếu tố nào:

  • Hiểu biết về chuyên ngành.
  • Maths. Machine learning researcher chủ yếu là đọc hiểu / làm toán.

Nói chung, nếu bạn tò mò về một câu hỏi nào đó, bắt tay vào tìm câu trả lời cho nó bằng cách sử dụng các phương pháp nghiên cứu có hệ thống, ra được kết quả và viết được báo cáo chi tiết về những gì bạn tìm thấy, thì bạn đã là một researcher rồi. PhD là không bắt buộc.


#5

Ngắn nhất thì có thể chứ mình ko nghĩ nó dễ đi nhất đâu, mỗi cái có cái khó của riêng nó.


#6

Mình/Em cũng đang phân vân về hướng đi sắp tới. Mình tốt nghiệp ngành toán ứng dụng, ngành của mình có liên quan đến machine learning nhưng ứng dụng trong tài chính, ngân hàng và định lượng nhiều hơn. Nhưng mình lại có đam mê đặc biệt với ML và DL và muốn đi theo hướng nghiên cứu bài bản bằng apply học bổng Master. Nhưng chi phí bỏ ra sẽ không nhỏ, khoảng 2-3 năm học tập + không có lương trong khi hiện tại lương của mình cũng khá tại Việt Nam nếu so với những người cùng tuổi. Mình đang rất phân vân liệu sau 2-3 năm nữa sau khi học xong mình có được mức lương như hiện tại không? Liệu tấm bằng mình kiếm được có giúp ích cho mình nhiều không? Năm nay mình cũng 26 rồi. Đi học xong là cũng già già, bạn gái không có, tiền bạc không có, học xong sẽ gây dựng lại mọi thứ từ 2 bàn tay trắng --> Khả năng cao là ế vợ. Mình rất băn khoăn và lo lắng.