THE APPLICATION OF ARTIFICIAL INTELLIGENCE IN DENTISTRY - PART 3

TRÍ TUỆ NHÂN TẠO TRONG NHA KHOA

PHẦN 3. HỌC LIỆU TỰ HỌC VÀ ỨNG DỤNG AI TRONG NGHIÊN CỨU

MỘT SỐ LƯU Ý

  • Bài viết này ghi lại từng bước tiếp cận lĩnh vực AI của Harry, chủ yếu dành cho bạn nào có quan tâm và có cùng background (không phải dân học công nghệ thông tin hay khoa học máy tính và dữ liệu, cũng không có nền tảng gì về lập trình). Bên cạnh tự học thì mình cũng có thầy hướng dẫn, giải đáp một số thắc mắc chứ không phải hoàn toàn tự học đâu mọi người nhe. Không thầy đố mày làm nên mà!
  • Phần này chủ yếu giới thiệu trình tự học cũng như các nguồn tài liệu mình đã tham khảo để có thể hiểu và ứng dụng AI khi thực hiện đề tài nghiên cứu. Cụ thể là Ứng dụng máy học sâu để phân loại hình ảnh mô bệnh học, hỗ trợ chẩn đoán loạn sản ở lưỡi. Mọi người có thể áp dụng tương tự cho các vấn đề nghiên cứu khác với dữ liệu là hình ảnh như sử dụng phim X-quang kỹ thuật số (X-quang thường quy, CBCT, CT), MRI, hình ảnh lâm sàng tổn thương sâu răng, tổn thương mô mềm, hình ảnh scan 3D mẫu hàm, v.v... để phân loại bệnh lý, xác định loại sai hình xương, khớp cắn. 
  • Mục tiêu tự học của mình là để có kiến thức nền khi trao đổi chuyên môn với giáo sư và hỗ trợ việc nghiên cứu (đọc tài liệu, viết báo, trình chuyên đề, thực hiện một số thao tác với thuật toán AI). Bên cạnh đó, Harry vẫn cần sự hỗ trợ về kỹ thuật của chuyên gia về AI và IT.
  • Lưu ý, với các dạng dữ liệu input khác như: văn bản, số liệu, ghi âm giọng nói và yêu cầu output (phân loại, định vị, xác định giới hạn, tái tạo) sẽ có cách tiếp cận bằng các thuật toán khác nhau. Và cho đến nay, không phải dữ liệu và vấn đề nào cũng có thể giải quyết bằng AI.
  • Danh sách dưới đây được sắp xếp theo trình tự từ khái quát đến chuyên sâu, mọi người có thể đọc theo trình tự này để có kiến thức tổng quát về lĩnh vực AI, cũng như tiếp cận từ nền tảng lý thuyết đến bài tập thực hành để có thể ứng dụng AI vào trong lĩnh vực nha khoa muốn nghiên cứu.
  • Đa số các tài liệu là tiếng Anh, Pháp. Nếu có khó khăn về ngoại ngữ, mọi người có thể tìm kiếm các bài giảng về AI bằng tiếng Việt trên internet hoặc liên hệ những ai đang học các chuyên ngành này nhé!

1. CÁI KHÁI NIỆM VỀ AI

Trước hết là các học liệu cung cấp kiến thức về AI, học máy (Machine Learning) và học sâu (Deep Learning).

Các sách của Springer được chia sẻ miễn phí trong thời gian dịch bệnh COVID-19. Thời điểm mình viết bài này các link đã đóng lại và phải trả phí tầm 30-50 euros/cuốn. Nếu ai thật sự quan tâm thì có thể comment email bên dưới, mình sẽ chia sẻ những sách đã download được.

Khi mới bắt đầu chắc chắn sẽ gặp nhiều khó khăn khi tiếp cận các khái niệm mới, không thuộc chuyên ngành của mình. Vì vậy, khi đọc các tài liệu này, có những khái niệm khó hiểu, mọi người có thể dùng các công cụ tìm kiếm (Search Engine) để hiểu rõ các từ khóa đó bằng các ngôn ngữ mà mình biết, kể cả tiếng Việt để nắm bắt vấn đề. Mình không có nhiều bạn người Việt trong lĩnh vực này nên không biết có giáo trình tiếng Việt nào tương đương, ai có quan hệ thì hãy tận dụng nhé.

2. NGÔN NGỮ LẬP TRÌNH PYTHON

Để thực hành AI cần có kiến thức về Ngôn ngữ lập trình (Programming Language). Có khá nhiều ngôn ngữ lập trình, mọi người chỉ cần tìm kiếm trên Internet để hiểu thêm, mình không ghi hết ra đây. Ngôn ngữ mình học là Python, theo đề nghị của giáo sư, đồng thời cũng là ngôn ngữ dễ hiểu và học, có nhiều thuật toán Deep Learning sử dụng Python. Các bài thực hành cơ bản thì có thể sử dụng laptop hay máy tính thông thường. Mình dùng con Macbook Pro, 13-inch, Mid 2012, 2.5 GHz Dual-Core Intel Core i5, RAM 4GB. Riêng các thuật toán liên quan đến Deep Learning Machine, Convolutional Neural Network với lượng dữ liệu lớn (Big Data) thì cần cấu hình máy tốt hơn (tham khảo thêm cuốn Deep Learning with Python mình đề cập bên dưới). Sau đây là các học liệu chính:

  • Python for Everyone - Exploring Data Using Python 3 (2009), Charles R. Severance, Elliot Hauser. Có bản ebook miễn phí trong link phía trên. 
  • Python for Everybody Specialization, Coursera, University of Michigan, khóa học trực tuyến này được đánh giá khá cao, nội dung giúp người học làm quen với các khái niệm cũng như cách coding bằng Python. Khi tham gia khóa học này (có đóng phí) mọi người sẽ được tham gia trong một cộng đồng học viên, có bài tập coding kiểm tra và được hỗ trợ sửa bài, chữa lỗi coding. Nội dung khóa học (gồm nhiều khóa học nhỏ) bám sát theo cuốn sách Python for everyone mình giới thiệu ở trên. Nói thêm, Coursera là một nền tảng trực tuyến có phiên bản application trên thiết bị di động, theo thời gian có khá nhiều khóa học miễn phí về chủ đề AI và Data Science, mọi người tranh thủ đăng ký để học thêm nếu cần. 
  • Apprendre à coder avec Python, FunMOOC, FunMOOC là một nền tảng giáo dục trực tuyến do sự hợp tác của nhiều tổ chức, trường đại học Pháp ngữ, cung cấp miễn phí các khóa học đa lĩnh vực, trong đó có lĩnh vực Khoa học dữ liệu và AI. Khóa học "Apprendre à coder avec Python" này cung cấp các khái niệm và thao tác căn bản để giúp người học làm quen với môi trường và cách thức hoạt động của ngôn ngữ lập trình Python. Khi tạo xong tài khoản trong platform này, mọi người có thể tìm hiểu các khóa học theo từng lĩnh vực, đăng ký tham gia khóa học, và chờ đến khi khóa học mới được mở sẽ có thư thông báo đến email để mình tham gia. 
  • Mosh Coding Made Simple website - Mosh Hamedani là tác giả của trang web này cũng như các nền tảng chia sẻ và học tập trực tuyến khác như blog, youtube, twitter, facebook, và online course (khóa học trực tuyến). Chỉ tốn khoảng 19$/tháng để tiếp cận các khóa học trực tuyến của Mosh. Đặc biệt, các video clip trong này đều có thể tải về miễn phí để có thể xem lại hoặc tiết kiệm chi phí bằng cách download về trước rồi học từ từ. Các bài học sẽ hướng dẫn học viên cách viết code từ đơn giản đến phức tạp bằng Python. Trước khi quyết định theo học, mọi người có thể lên youtube để tham khảo các đoạn tutorial ngắn để đánh giá có phù hợp hay không.
  • Kênh Youtube của Corey Schafer: là một lựa chọn khác để học ngôn ngữ lập trình Python hoàn toàn miễn phí. Youtuber này cung cấp nhiều tutorial học lập trình bằng Python miễn phí, chỉ cần vào link trên là xem được. Cách hướng dẫn dễ hiểu, tốc độ nói cũng vừa phải, phát âm rõ ràng, cung cấp nhiều nội dung hữu ích. Nếu là beginer thì theo mình nên đọc sách trước để có kiến thức nền về từ vựng và các khái niệm trước khi xem các tutorial bằng video sẽ dễ tiếp thu hơn.
  • Kênh Youtube Dũng Lại Lập Trình: đây là một trong các kênh Youtube hiếm hoi mình follow thời gian gần đây của Youtuber người Việt. Đặc biệt, đối tượng mà kênh này nhắm tới là các bạn beginner, nên các video khá đơn giản và dễ hiểu, đặc biệt phù hợp cho ai không giỏi tiếng Anh vì các thuật ngữ đều được dịch và giải thích bằng tiếng Việt. Theo nhận định cá nhân thì mỗi video khá ngắn gọn nhưng có nhiều thông tin và típ bổ ích, tốc độ hơi nhanh nên nếu không hiểu thì mọi người pause để bắt kịp. Ngoài ra, bạn Dũng cũng tạo một group kín trên facebook để trao đổi kinh nghiệm, đặt câu hỏi nếu gặp khó khăn khi mới bắt đầu học lập trình bằng Python. Tuy nhiên, do mới lập nên số lượng video cũng còn hạn chế!

⭕ Trên đây là các học liệu căn bản để học lập trình bằng Python, mình thấy mỗi cái có điểm hay riêng, một số nội dung có thể trùng lặp, cũng có điểm khác biệt. Vì mình là đứa học lâu mới hiểu và nhanh chán nên thường thay đổi các học liệu để cảm thấy thú vị và một phần để ôn bài cũ. Mọi người có thể chọn 1 trong số các mục liệt kê trên để bắt đầu chứ không cần xem hết đâu.

⭕ Khi học coding, có thể cài đặt phần mềm về máy để sử dụng (cái này trên Internet hoặc trong các học liệu mình kể trên có hướng dẫn chi tiết) hoặc bạn cũng có thể coding online nhờ các nền tảng như Colab. Chỉ cần đăng nhập tài khoản Google, rồi vào link trên, platform này sẽ cung cấp các ví dụ viết code và kết quả, mọi người có thể học cách viết code và chạy thử online, không cần phải cài đặt gì phiền phức.

  • Advanced Guide to Python 3 Programming (2019), John Hunt, Springe
  • Machine Learning Mastery, tài khoản LinkIn này của Jason Brownlee, cũng là một tác giả có nhiều sách về lĩnh vực Máy học, mọi người yêu thích có thể đăng ký mua sách hoặc các khóa học trực tuyến của tác giả. Mình đăng ký theo dõi tài khoản này vì thường xuyên cập nhật nhiều tutorial ngắn gọn cho từng chủ đề ứng dụng máy học bằng ngôn ngữ lập trình Python. Mỗi tutorial được trình bày ngắn gọn, dễ hiểu về nội dung lý thuyết liên quan (có thể đã được trình bày trong các sách mình nêu trên) và phần code để mọi người có thể sử dụng để chạy thử chương trình và hiểu rõ hơn nội dung lý thuyết. Vì vậy, cần phải có kiến thức cơ bản ở phía trên thì mới dễ hấp thụ các chia sẻ trên tài khoản này.

Google hoặc các công cụ tìm kiếm (Search Engine) khác: Python có rất nhiều Module, Package hỗ trợ cho từng vấn đề khác nhau bên cạnh Deep Learning như: vẽ biểu đồ, phân tích thống kê (Statistical Analysis), trực quan hóa dữ liệu (Data Visualization), v.v... Có thể dễ dàng tìm kiếm và truy cập vào các trang web, trong đó trình bày cụ thể cách ứng dụng từng Module, Package; các group, diễn đàn giải đáp thắc mắc, lỗi coding cho người mới học như mình; các blog chia sẻ nhiều chủ đề liên quan.

3. ỨNG DỤNG TRONG NHA KHOA VÀ CẬP NHẬT KẾT QUẢ NGHIÊN CỨU

Nha khoa cũng như các lĩnh vực khoa học khác đều có nguồn dữ liệu lớn (Big Data) từ các hoạt động hằng ngày như hồ sơ bệnh án, hình ảnh lâm sàng và cận lâm sàng, v.v... Có được nguồn dữ liệu chất lượng, mọi người có thể sử dụng thuật toán Deep Learning để thực hiện các nghiên cứu góp phần hỗ trợ chuyên môn. Sau đây là một số học liệu có thể tham khảo để biết cách ứng dụng AI vào thực hành y khoa như thế nào.

  • Science des données et santé, EDUlib, khóa học trực tuyến miễn phí (nếu cần nhận chứng chỉ thì chuyển sang chế độ đóng phí) trình bày các khái niệm về Deep Learning (Apprentissage Profond), sau đó là giới thiệu các Library và Module chuyên biệt ứng dụng để xử lý dữ liệu y khoa. Nội dung khóa học khá tóm tắt, mang tính chất giới thiệu sơ lược, tổng quan nên cần kết hợp thêm đọc sách ở trên để hiểu rõ vấn đề.
  • Nền tảng edX cung cấp nhiều khóa học trực tuyến về Khoa học Dữ liệu (Data Science), trong đó có nhiều nội dung trùng lấp với các phần đã nêu ở trên mình không lặp lại, chỉ nhấn mạnh khóa học Using Python for Research. Khóa học này giống như một tutorial, hướng dẫn chi tiết cách sử dụng các Module, Library của Python để thực hiện một số loại nghiên cứu phổ biến bằng Python, dĩ nhiên là có thể ứng dụng trong nha khoa.
  • Deep Learning with Python (2017), François Chollet, 2nd edition. Quyển này được thầy mình recommend. Sách có tóm tắt các nội dung căn bản phía trên. Vì tóm tắt nên đôi khi khó tiếp thu đối với người mới, chưa biết gì về AI, máy học hay coding, nên tham khảo thêm các học liệu phía trên để nắm vững kiến thức mọi người nhé. Phần chính của sách có thể xem là một tutorial vì trình bày chi tiết lý thuyết kèm theo phần coding (có trong sách cũng như có thể download theo link cung cấp) xoay quanh các vấn đề phân loại dữ liệu bằng thuật toán máy học sâu (dữ liệu chính là hình ảnh và văn bản). Đây có thể xem là sách tiếp cận gần nhất với mục tiêu thực hành ứng dụng máy học sâu trong nha khoa, cụ thể là các hình ảnh trong nha khoa (hình lâm sàng, phim X-quang, digital pathology, v.v...).

Sau khi đã có kiến thức lý thuyết và kỹ năng thực hành ở trên, mọi người sẽ dễ dàng đọc hiểu các bài báo liên quan, cũng như hợp tác với các chuyên gia về AI để tiến hành các nghiên cứu. Theo mình, dù là bác sĩ nhưng không có kiến thức nền về AI thì rất khó thảo luận, đặt vấn đề và giải quyết tình huống cùng với các chuyên gia khoa học dữ liệu.

Cuối cùng, có thể cập nhật các kết quả nghiên cứu về AI hay bất kỳ chủ đề nghiên cứu nào liên quan đến y khoa trên các thư viện điện tử hay nền tảng social network như:

  • Pubmed 
  • ResearchGate
  • LinkedIn

Nếu yêu thích các nội dung của Blog, hãy đăng ký (subscribe) để cập nhật các bài viết mới nhất mọi người nhé!

Bài viết liên quan 

PHẦN 1. CÁC KHÁI NIỆM CĂN BẢN TRONG AI VÀ VAI TRÒ CỦA BÁC SĨ RĂNG HÀM MẶT TRONG NGHIÊN CỨU ỨNG DỤNG AI

PHẦN 2. MỘT SỐ ỨNG DỤNG TRONG NHA KHOA

Nhận xét

Bài đăng phổ biến