- Khái niệm học sâu (deep-learning): Học sâu là họ các phương pháp
học máy, bao gồm mạng nơ-ron, mô hình xác suất phân cấp, và các thuật toán học [41]. Học sâu đã thúc đẩy những bước tiến lớn trong một loạt các bài toán thị giác máy tính, như phát hiện đối tượng (object detection), theo dõi chuyển động (motion tracking), nhận dạng hành động (action recognition), đánh giá tư thế
17
của con người (human pose estimation) và phân vùng ảnh theo ngữ nghĩa (semantic segmentation).
- Học có giám sát, học không giám sát, học bán giám sát: Dựa trên
theo phương thức học, các kỹ thuật học sâu thường được chia làm thường được chia làm 3 nhóm: Học có giám sát (Supervised learning), Học không giám sát (Unsupervised learning), Học bán giám sát (Semi-supervised learning).
Học có giám sát là thuật toán dự đoán đầu ra (outcome) của một dữ liệu
mới (new input) dựa trên các cặp (input, outcome) đã biết từ trước. Cặp dữ liệu đã biết này còn được gọi là (dữ liệu, nhãn). Một cách toán học, học có giám sát là khi chúng ra có một tập hợp biến đầu vào � = {�1, �2, … ��} và một tập nhãn tương ứng � = {�1, �2, … ��} trong đó ��, ��là các vec tơ. Cặp dữ liệu biết trước (��, ��) ∈ × � � được gọi là dữ liệu huấn luyện (training data). Từ tập dữ liệu huấn luyện, chúng ta cần tạo ra (xấp xỉ) một hàm số ánh xạ mỗi phần tử từ tập � sang một phần tử tương ứng thuộc tập �:
�� ≈ �(�� ) ∀� = 1,2, … �
Mục đích là xấp xỉ hàm số hàm f tốt nhất để khi có một dữ liệu x mới, chúng ta có thể tính được nhãn tương ứng của nó � �(� = )
Học không giám sát (Unsupervised Learning): Học không giám sát là
khi chúng ta chỉ có dữ liệu vào � mà không biết nhãn � tương ứng.
Học bán giám sát (Semi-Supervised Learning) Các phương pháp học trong trường hợp khi có một lượng lớn dữ liệu X nhưng chỉ một phần trong chúng được gán nhãn được gọi học bán giám sát. Thực tế cho thấy rất nhiều các bài toán học máy thuộc vào nhóm này vì việc thu thập dữ liệu có nhãn tốn rất nhiều thời gian và có chi phí cao, phân tích ảnh y tế là một ví dụ, trong đó cần phải có chuyên gia mới gán nhãn được dữ liệu, ngược lại, dữ liệu chưa có nhãn có thể được thu thập với chi phí thấp từ hệ thống PACS.
- Mạng nơ ron tích chập
Kiến trúc và mô hình học sâu nền tảng của các ứng dụng thị giác máy tính là: Mạng nơ-ron tích chập (Convolutional Neural Network- CNN) [41]. Mỗi
18
mạng nơ-ron tích chập gồm 3 loại lớp chính: các lớp tích chập (convolutional layers), các lớp hợp nhất (pooling layers) và lớp kết nối đầy đủ (fully connected layers). Mỗi loại lớp đóng vai trò khác nhau trong mạng. Kiến trúc của các mạng CNN thực hiện 3 ý tưởng cơ bản là: các trường tiếp nhận cục bộ (local receptive fields), rằng buộc trọng số (tied weights) và giảm chiều không gian (spatial subsampling) [22]. Sự thành công của các mạng học sâu trong lĩnh vực thị giác máy có phần đóng góp đáng kể của các mạng CNN tiêu biểu như AlexNet [40], VGG[68], Inception (GoogleLeNet) [75], ResNet [25], MobileNet [63] , và EfficientNet [80]. Các mạng CNN này là các mạng phân loại ảnh, được các nhóm nghiên cứu thiết kế và được huấn luyện trên một số bộ dữ liệu ảnh tổng quát lớn như ImageNet, chúng được gọi là các mô hình huấn luyện sẵn (pretrained model). Các mô hình huấn luyện sẵn này thường được sử dụng làm được làm bộ trích rút đặc trưng cho các mô hình học sâu để giải quyết các bài toán thị giác máy tính.
- Các thuật toán tối ưu
Các thuật toán tối ưu chính là các nền tảng cơ sở để xây dựng các mô hình mạng nơ-ron với mục tiêu là “học” được các đặc trưng
(features/patterns) từ dữ liệu đầu vào, từ đó có thể tìm một tập các các trọng số (weights) W và tham số nội tại của mô hình (internal model parameters) hay bias b để tối ưu độ chính xác của mô hình, tức là cực tiểu giá trị hàm mất
mát (loss function) của mô hình. Đối với một mô hình học sâu, đầu tiên chúng
ta thường định nghĩa hàm mất mát (loss function), sau đó sử dụng một thuật toán tối ưu nhằm cực tiểu hóa hàm mất mát đó.
Các mạng nơ-ron tích chập đều được hỗ trợ bởi một thuật toán tối ưu rất quan trọng là thuật toán hạ gradient, gọi tắt là thuật toán GD (GD- Gradient Descent) [60]. GD là một thuật toán tối ưu lặp (iterative optimization algorithm) với mục tiêu là tìm một tập các biến nội tại (internal parameters) cho việc tối ưu các mô hình. Công thức cập nhật cho GD có thể được viết là:
←
� � − η∇��(�) (1.1) ,với � là tập các biến cần cập nhật, η là tốc độ học (learning rate), ∇��(�) là Gradient của hàm mất mát � theo tập trọng số w.
� � 1 2 � � 19
Tốc độ học η có thể được thiết lập khi thiết kế thuật toán. Chọn tốc độ
học η “vừa đủ” rất khó. Nếu chọn giá trị quá nhỏ, ta sẽ không có tiến triển. Nếu chọn giá trị quá lớn, nghiệm sẽ dao động và trong trường hợp tệ nhất, thậm chí sẽ phân kỳ.
- Thuật toán Adam [38] là một thuật toán tối ưu dựa trên GD, kết hợp tất
cả các cải tiến của các thuật toán đã nêu thành một thuật toán học hiệu quả. Đây là một trong những thuật toán tối ưu mạnh mẽ và hiệu quả được sử dụng phổ biến trong học sâu hiện nay.
Một trong những thành phần chính của Adam là các trung bình động trọng số mũ (hay còn được gọi là trung bình rò rỉ) để ước lượng cả động lượng và mô-men bậc hai của gradient. Cụ thể, nó sử dụng các biến trạng thái:
��← �1��−1 + (1 − 1)��
�� ← 2��−1 + (1 − 2)�2 (1.2) Với �1 , �2 là các tham số trọng số không âm, thường được đặt là �1 = 0.9 và �2 = 0.999 điều này có nghĩa là cần chọn ước lượng phương sai di chuyển chậm hơn nhiều so với số hạng động lượng. Nếu khởi tạo �0 = 0 và ��= 0 thì thuật toán có độ lệch ban đầu đáng kể về các giá trị nhỏ hơn, do đó ta sử dụng
� �=
0 �
�
= 1−��để chuẩn hóa lại các số hạng. Các biến trạng thái sau khi chuẩn
1 − − − − − − − − − − − − − −− hóa lại là: �̂� = �� 1 − − − − − − − − − − − − − −−� và �� = �� 1 − − − − − − − − − − − − − −−� (1.3)
Giá trị gradient được điều chỉnh lại:
��′ = ��̂� (1.4)
√��̂ +�
Trong công thức trên thông thường � = 10−6. Tổng hợp các công thức lại ta có công thức cập nhật cho trọng số trong các bước lặp là:
�� = ��−1 − �′ (1.5)
1.2.2.Kỹ thuật học chuyển giao
Kỹ thuật học chuyển giao (TL- Transfer Learning) [87] được thúc đẩy bởi thực tế là con người có thể áp dụng một cách thông minh tri thức đã học trước đây để giải quyết các vấn đề mới nhanh hơn hoặc với các giải pháp tốt hơn. Động lực chính của học chuyển giao trong lĩnh vực học máy là nhu cầu về các phương pháp học máy dài hạn có thể duy trì và tái sử dụng tri thức đã học trước đây, để các thiết bị thông minh có thể thích nghi với môi trường mới hoặc các
tác vụ mới một cách hiệu quả với ít sự giám sát của con người. Về mặt toán học có thể định nghĩa học chuyển giao như sau:
Định nghĩa học chuyển giao [87]: Cho ��là lĩnh vực học nguồn, ��là
một tác vụ học nguồn, �� là lĩnh vực học đích, �� là một tác vụ học đích, trong đó ��≠ �hoặc ��≠ ��. Học chuyển giao nhằm cải thiện hàm dự đoán đích
��(∙) trong lĩnh vực ��sử dụng các tri thức trong ��và ��
Trong định nghĩa 1 mỗi lĩnh vực được biểu diễn bằng một cặp � = { , ) (}, điều kiện ��≠ �có nghĩa ��≠ �� hoặc (�) ≠ (�) , tương tự mỗi tác vụ được � = { , � �(�|�)} và điều kiện �� ≠ �� có nghĩa �� ≠ � hoặc
�(��|��) ≠ �(��|��).
Học chuyển giao trong các mô hình học sâu: Các mạng nơ-ron sâu
dùng đòi hỏi lượng dữ liệu huấn luyện lớn để chúng có thể tổng quát hóa tốt. Tuy nhiên, trong các tình huống thực tế, có một số lĩnh vực dữ liệu huấn luyện đầy đủ không có sẵn ví dụ như trong phân tích ảnh y tế, do đó việc chuyển tri thức từ lĩnh vực này sang lĩnh vực khác đã trở thành một kỹ thuật được sử dụng phổ biến trong các phương pháp học sâu. Ý tưởng đằng sau của các kỹ thuật học chuyển này là mặc dù tập dữ liệu ảnh lĩnh vực đích có thể khác với tập dữ liệu ảnh lĩnh vực nguồn, nhưng các đặc trưng mức thấp (ví dụ: góc cạnh, bề mặt, hình dáng, và các kết cấu của vật thể) là phổ biến cho hầu hết các tác vụ phân vùng ảnh. Do đó, chuyển giao các tham số (tức là trọng số của các mạng nơ-ron sâu) có thể coi là một tập hợp các đặc trưng mạnh giúp giảm nhu cầu về một tập dữ liệu huấn luyện được gán nhãn lớn cũng như rút ngăn thời gian huấn luyện và chi phí tính toán.
Với các mô hình học sâu các kỹ thuật học chuyển giao có thể được phân loại theo hai hướng tiếp cận sau: (1) trích rút đặc trưng (Feature-extraction) từ dữ liệu lĩnh vực nguồn sử dụng cho tác vụ ở lĩnh vực đích. (2) tinh chỉnh (fine- tuning) mạng tiền huấn luyện bằng dữ liệu lĩnh vực nguồn để thực hiện tác vụ ở lĩnh vực đích [81]
(1) Học chuyển giao theo cách tiếp cận trích rút các đặc trưng sử dụng cho các tác vụ ở lĩnh vực đích: Cách tiếp cận này sử dụng mô hình CNN được
huấn luyện tốt trên một tập dữ liệu lớn (ví dụ: ImageNet) làm công cụ trích xuất đặc trưng cho tác vụ của lĩnh vực đích.
Một số mạng CNN dựng sẵn (pre-trained CNN) phổ biến
Pre-trained CNN là một mạng nơ-ron tích chập dùng cho phân loại ảnh CNN được huấn luyện tốt trên một tập dữ liệu lớn (ví dụ: ImageNet) và bỏ đi lớp phân loại cuối để thành một bộ trích rút đặc trưng (feature extractor). Mô số mạng pre-trained CNN tiêu biểu có thể kể ra là: MobileNet [63], các mạng Resnet [25] và họ các mạng EfficientNets [80].
(2) Học chuyển giao theo cách tiếp cận tinh chỉnh trọng số mạng tiền huấn luyện để thực hiện tác vụ trên lĩnh vực đích: trong phương pháp này tác
vụ nguồn, và tác vụ đích là giống nhau (ví dụ cùng là tác vụ phân vùng ngữ nghĩa ảnh), mạng tiền huấn luyện trên lĩnh vực nguồn được thay đổi và tinh chỉnh lại trên dữ liệu của lĩnh vực đích.