tek4

Học có giám sát và không giám sát – Phân loại các mô hình học máy

by - September. 21, 2021
Học
Machine Learning
<p style="text-align: justify;">Trong c&aacute;c <a href="https://tek4.vn/machine-learning-co-ban/">b&agrave;i trước</a>, ch&uacute;ng ta đ&atilde; t&igrave;m hiểu về c&aacute;c <a href="https://tek4.vn/du-lieu-trong-machine-learning-va-nhung-dieu-can-biet/">kiểu dữ liệu</a> cũng như <a href="https://tek4.vn/machine-learning-task-cac-bai-toan-thuong-gap-trong-machine-learning/">c&aacute;c b&agrave;i to&aacute;n cơ bản</a> trong machine learning. T&ugrave;y thuộc c&aacute;c m&ocirc; h&igrave;nh dữ liệu v&agrave; b&agrave;i to&aacute;n kh&aacute;c nhau ch&uacute;ng ta c&oacute; c&aacute;c m&ocirc; h&igrave;nh học kh&aacute;c nhau. Chắc hẳn c&aacute;c bạn đ&atilde; nghe kh&aacute; nhiều về c&aacute;c kh&aacute;i niệm như học c&oacute; gi&aacute;m s&aacute;t v&agrave; kh&ocirc;ng gi&aacute;m s&aacute;t, hay học tăng cường...Trong b&agrave;i viết n&agrave;y ch&uacute;ng ta sẽ t&igrave;m hiểu về một số loại m&ocirc; h&igrave;nh học tập kh&aacute;c nhau trong machine learning. Sau b&agrave;i viết n&agrave;y, bạn sẽ nắm được:</p> <ul style="text-align: justify;"> <li style="text-align: justify;">C&aacute;c m&ocirc; h&igrave;nh học tập thường gặp trong machine learning như: học c&oacute; gi&aacute;m s&aacute;t (supervised learning), học kh&ocirc;ng gi&aacute;m s&aacute;t (unsupervised learning), học tăng cường (<a href="https://tek4.vn/hoc-tang-cuong-co-ban/">reinforcement learning</a>).</li> <li style="text-align: justify;">C&aacute;c kỹ thuật học tập như: online learning, active learning, transfer learning.</li> <li>Khi n&agrave;o n&ecirc;n &aacute;p dụng m&ocirc; h&igrave;nh học v&agrave; kỹ thuật học n&agrave;o</li> </ul> <p style="text-align: justify;">Ch&uacute;ng ta h&atilde;y bắt đầu</p> <p style="text-align: justify;"><img class="aligncenter wp-image-8249" src="https://tek4.vn/wp-content/uploads/2021/02/Machine-Learning-co-ban-bai-4.jpg" alt="Học c&oacute; gi&aacute;m s&aacute;t v&agrave; học kh&ocirc;ng gi&aacute;m s&aacute;t - Ph&acirc;n loại c&aacute;c m&ocirc; h&igrave;nh học m&aacute;y" width="810" height="477" /></p> <h2 style="text-align: justify;">Ph&acirc;n loại c&aacute;c m&ocirc; h&igrave;nh học m&aacute;y theo đặc t&iacute;nh của dữ liệu đầu v&agrave;o</h2> <p style="text-align: justify;">Trong b&agrave;i trước, ch&uacute;ng ta đ&atilde; biết rằng, dữ liệu l&agrave; một th&agrave;nh phần cốt l&otilde;i để x&acirc;y dựng c&aacute;c m&ocirc; h&igrave;nh machine learning. C&oacute; rất nhiều kiểu dữ liệu kh&aacute;c nhau tr&ecirc;n thực tế. Tuy nhi&ecirc;n, để tiến h&agrave;nh thu thập dữ liệu cho c&aacute;c m&ocirc; h&igrave;nh học m&aacute;y kh&ocirc;ng phải l&agrave; điều dễ d&agrave;ng. Tại sao m&aacute;y c&oacute; thể tự học được th&ocirc;ng qua c&aacute;c thuật to&aacute;n machine learning? Đ&oacute; một phần l&agrave; do con người dạy cho n&oacute; học th&ocirc;ng qua việc g&aacute;n nh&atilde;n sẵn c&aacute;c dữ liệu. Điều n&agrave;y giống như ch&uacute;ng ta dạy m&aacute;y rằng: con vật c&oacute; 2 tai v&agrave; mũi d&agrave;i tr&ograve;n l&agrave; con ch&oacute;, c&ograve;n con vật c&oacute; hai tai v&agrave; mũi ngắn tr&ograve;n l&agrave; con m&egrave;o....v&agrave; m&aacute;y t&iacute;nh sẽ t&igrave;m c&aacute;ch tổng qu&aacute;t h&oacute;a c&aacute;c dữ liệu được đưa v&agrave;o tương ứng để x&acirc;y dựng l&ecirc;n c&aacute;c m&ocirc; h&igrave;nh học m&aacute;y. Tuy nhi&ecirc;n, cũng c&oacute; những m&ocirc; h&igrave;nh học m&aacute;y c&oacute; khả năng tự học từ dữ liệu để t&igrave;m ra c&aacute;c quan hệ ẩn của dữ liệu m&agrave; kh&ocirc;ng cần được g&aacute;n nh&atilde;n trước. Dựa tr&ecirc;n đặc t&iacute;nh của dữ liệu đầu v&agrave;o v&agrave; mục ti&ecirc;u của c&aacute;c b&agrave;i to&aacute;n học m&aacute;y chẳng hạn như: ph&acirc;n lớp dữ liệu th&agrave;nh c&aacute;c nh&atilde;n, t&igrave;m kiếm c&aacute;c tương quan giữa c&aacute;c nh&oacute;m dữ liệu,...ch&uacute;ng ta c&oacute; thể ph&acirc;n c&aacute;c m&ocirc; h&igrave;nh th&agrave;nh một số loại sau:</p> <ul style="text-align: justify;"> <li>M&ocirc; h&igrave;nh học c&oacute; gi&aacute;m s&aacute;t (supervised learning)</li> <li>M&ocirc; h&igrave;nh học kh&ocirc;ng gi&aacute;m s&aacute;t (unsupervised learning)</li> <li>M&ocirc; h&igrave;nh học theo nh&oacute;m (Multi-Instance Learning)</li> <li>M&ocirc; h&igrave;nh học b&aacute;n gi&aacute;m s&aacute;t (Semi-supervised learning)</li> <li>M&ocirc; h&igrave;nh học tự gi&aacute;m s&aacute;t (Self-supervised learning)</li> <li>M&ocirc; h&igrave;nh học tăng cường (<a href="https://tek4.vn/hoc-tang-cuong-co-ban/">reinforcement learning</a>)</li> </ul> <p style="text-align: justify;">Ch&uacute; &yacute; rằng, trong nhiều t&agrave;i liệu chỉ n&oacute;i đến học c&oacute; gi&aacute;m s&aacute;t v&agrave; học kh&ocirc;ng gi&aacute;m s&aacute;t, đ&ocirc;i khi sẽ c&oacute; th&ecirc;m học b&aacute;n gi&aacute;m s&aacute;t v&agrave; học tăng cường, tuy nhi&ecirc;n để chi tiết v&agrave; cung cấp đầy đủ nhất về mặt kh&aacute;i niệm, ở đ&acirc;y ch&uacute;ng ta t&igrave;m hiểu ph&acirc;n loại chi tiết hơn.</p> <h3 style="text-align: justify;">1. M&ocirc; h&igrave;nh học c&oacute; gi&aacute;m s&aacute;t (supervised learning)</h3> <p style="text-align: justify;">M&ocirc; h&igrave;nh học c&oacute; gi&aacute;m s&aacute;t l&agrave; m&ocirc; h&igrave;nh học tr&ecirc;n dữ liệu c&oacute; d&atilde;n nh&atilde;n, tức l&agrave; mục ti&ecirc;u của b&agrave;i to&aacute;n machine learning cần học đ&atilde; được g&aacute;n nh&atilde;n sẵn trong dữ liệu huấn luyện. Dữ liệu đầu v&agrave;o của qu&aacute; tr&igrave;nh học bao gồm cả vector đầu v&agrave;o chứa c&aacute;c thuộc t&iacute;nh của dữ liệu lẫn gi&aacute; trị đầu ra mục ti&ecirc;u (gọi l&agrave; nh&atilde;n của dữ liệu). N&oacute;i c&aacute;ch kh&aacute;c Supervised learning cho ph&eacute;p dự đo&aacute;n đầu ra (outcome) của một dữ liệu mới dựa tr&ecirc;n c&aacute;c cặp (đầu v&agrave;o<em>, đầu ra</em>) đ&atilde; biết từ trước thu được từ bộ dữ liệu huấn luyện. Bộ dữ liệu huấn luyện bao gồm c&aacute;c cặp (<em>data, label</em>), tức (<em>dữ liệu, nh&atilde;n</em>). Chẳng hạn, <a href="https://archive.ics.uci.edu/ml/datasets/iris">bộ dữ liệu hoa tử đằng (Iris)</a> chứa&nbsp; c&aacute;c thuộc t&iacute;nh l&agrave; chiều d&agrave;i v&agrave; chiều rộng của c&aacute;nh hoa v&agrave; đ&agrave;i hoa, c&aacute;c thuộc t&iacute;nh n&agrave;y tạo th&agrave;nh dữ liệu đầu v&agrave;o (data). Đồng thời, n&oacute; cũng chứa cả nh&atilde;n (class label) của mục ti&ecirc;u dự đo&aacute;n (d&ograve;ng hoa l&agrave; một trong ba loại: <span class="s1">setosa</span><span class="p">,</span> <span class="s1">versicolor</span><span class="p"> v&agrave;</span> <span class="s1">virginica). </span></p> <p>[caption id="attachment_8226" align="aligncenter" width="645"]<img class="wp-image-8226" src="https://tek4.vn/wp-content/uploads/2021/02/iris_dataset.png" alt="Bộ dữ liệu Iris dataset" width="645" height="484" /> Bộ dữ liệu Iris, một trong những v&iacute; dụ kinh điển trong machine learning (Nguồn: Bishwamittra Ghosh)[/caption]</p> <p style="text-align: justify;"><span class="s1">Hay như v&iacute; dụ về m&ocirc; h&igrave;nh hồi quy tuyến t&iacute;nh ở b&agrave;i trước, bộ dữ liệu của ch&uacute;ng ta bao gồm cả mức lương v&agrave; gi&aacute; trị cần dự đo&aacute;n l&agrave; mức độ h&agrave;i l&ograve;ng với c&ocirc;ng việc của nh&acirc;n vi&ecirc;n. Trong c&aacute;c trường hợp n&agrave;y, một m&ocirc; h&igrave;nh học c&oacute; gi&aacute;m s&aacute;t sẽ sử dụng bộ dữ liệu c&oacute; bao gồm nh&atilde;n mục ti&ecirc;u n&agrave;y để t&igrave;m c&aacute;ch dự đo&aacute;n sao cho kết quả dự đo&aacute;n đầu ra l&agrave; ch&ecirc;nh lệch &iacute;t nhất so với nh&atilde;n mục ti&ecirc;u cho trước trong bộ dữ liệu. Qu&aacute; tr&igrave;nh n&agrave;y gọi l&agrave; qu&aacute; tr&igrave;nh cực tiểu h&oacute;a sự sai kh&aacute;c giữa nh&atilde;n thật của dữ liệu v&agrave; nh&atilde;n được dự đo&aacute;n của m&ocirc; h&igrave;nh đ&atilde; x&acirc;y dựng. </span></p> <p style="text-align: justify;">Về mặt to&aacute;n học, ch&uacute;ng ta c&oacute; thể m&ocirc; tả b&agrave;i to&aacute;n supervised learning như sau: Cho một tập hợp biến đầu v&agrave;o $latex X=\{x_1, x_2, \ldots, x_N\}, x_i \in \mathbb{R}^n$ l&agrave; $latex N$ vector mẫu quan s&aacute;t gồm $latex n$ thuộc t&iacute;nh v&agrave; c&aacute;c nh&atilde;n tương ứng $latex Y=\{y_1,y_2,\ldots,y_N\}$. Tập hợp c&aacute;c cặp dữ liệu biết trước n&agrave;y được gọi l&agrave; tập dữ liệu huấn luyện (training data). Một thuật to&aacute;n unsupervised learning sẽ cố gắng t&igrave;m một h&agrave;m số để xấp xỉ tốt nhất cho mỗi phần tử trong $latex x_i \in X$ với một phần tử trong $latex y_i \in Y$ tương ứng:<span id="MathJax-Element-6-Frame" class="mjx-chtml MathJax_CHTML" tabindex="0" role="presentation" data-mathml="&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;mrow class=&quot;MJX-TeXAtom-ORD&quot;&gt;&lt;mi class=&quot;MJX-tex-caligraphic&quot; mathvariant=&quot;script&quot;&gt;Y&lt;/mi&gt;&lt;/mrow&gt;&lt;/math&gt;"><span id="MJXc-Node-96" class="mjx-math" aria-hidden="true"><span id="MJXc-Node-97" class="mjx-mrow"><span id="MJXc-Node-98" class="mjx-texatom"><span id="MJXc-Node-99" class="mjx-mrow"><span id="MJXc-Node-100" class="mjx-mi"></span></span></span></span></span></span></p> <p style="text-align: center;">$latex y_i \simeq f(x_i)$</p> <p style="text-align: justify;">sao cho độ lệch của việc xấp xỉ l&agrave; rất nhỏ (thường l&agrave; nhỏ nhất c&oacute; thể). Đ&acirc;y l&agrave; qu&aacute; tr&igrave;nh huấn luyện m&ocirc; h&igrave;nh học c&oacute; gi&aacute;m s&aacute;t với mục ti&ecirc;u l&agrave; t&igrave;m ra một h&agrave;m để tổng qu&aacute;t h&oacute;a quan hệ giữa c&aacute;c phần từ trong $latex X$ v&agrave; $latex Y$. Khi đ&oacute;, sau n&agrave;y khi đưa v&agrave;o một điểm dữ liệu mới $latex x$ bất kỳ (c&oacute; thể chưa c&oacute; trong tập huấn luyện $latex X$) th&igrave; ch&uacute;ng ta đều c&oacute; thể t&iacute;nh được nh&atilde;n tương ứng của n&oacute; $latex y=f(x)$. Đ&acirc;y gọi l&agrave; qu&aacute; tr&igrave;nh dự đo&aacute;n.</p> <p style="text-align: justify;">Hai dạng phổ biến nhất trong c&aacute;c b&agrave;i to&aacute;n học c&oacute; gi&aacute;m s&aacute;t l&agrave;: <a href="https://tek4.vn/machine-learning-task-cac-bai-toan-thuong-gap-trong-machine-learning/">ph&acirc;n lớp v&agrave; hồi quy</a>. Trong đ&oacute; m&ocirc; h&igrave;nh ph&acirc;n lớp cho ph&eacute;p dự đo&aacute;n c&aacute;c nh&atilde;n của c&aacute;c lớp mục ti&ecirc;u c&ograve;n m&ocirc; h&igrave;nh hồi quy cho ph&eacute;p dự đo&aacute;n c&aacute;c gi&aacute; trị số tương ứng với dữ liệu đầu v&agrave;o. Cả hai b&agrave;i to&aacute;n n&agrave;y đều c&oacute; thể nhận gi&aacute; trị đầu v&agrave;o l&agrave; một hoặc nhiều biến thuộc bất cứ dạng dữ liệu n&agrave;o (dạng số hoặc dạng phi số).</p> <p style="text-align: justify;">B&agrave;i to&aacute;n ph&acirc;n lớp hoa tử đằng ở tr&ecirc;n l&agrave; một v&iacute; dụ về b&agrave;i to&aacute;n ph&acirc;n lớp. Trong đ&oacute; m&ocirc; h&igrave;nh nhận đầu v&agrave;o l&agrave; k&iacute;ch thước c&aacute;nh hoa v&agrave; nhụy hoa v&agrave; cho đầu ra l&agrave; loại hoa tử đằng (<span class="s1">setosa</span><span class="p">,</span> <span class="s1">versicolor</span><span class="p"> hoặc </span><span class="s1">virginica)</span>. Với m&ocirc; h&igrave;nh hồi quy, ch&uacute;ng ta đ&atilde; được t&igrave;m hiểu chi tiết ở b&agrave;i trước th&ocirc;ng qua dự đo&aacute;n mức độ h&agrave;i l&ograve;ng với c&ocirc;ng việc (thang điểm từ 0-100) theo mức độ thu nhập của nh&acirc;n vi&ecirc;n. Hoặc một v&iacute; dụ kinh điển kh&aacute;c l&agrave; b&agrave;i to&aacute;n dự đo&aacute;n gi&aacute; nh&agrave; ở Boston theo rất nhiều c&aacute;c thuộc t&iacute;nh số đầu v&agrave;o như diện t&iacute;ch, thuế,...</p> <p style="text-align: justify;">Supervised learning l&agrave; dạng m&ocirc; h&igrave;nh phổ biến nhất trong Machine Learning. Một số thuật to&aacute;n thuộc lớp học c&oacute; gi&aacute;m s&aacute;t c&oacute; thể kể đến như: <strong>c&acirc;y quyết định</strong>, <strong>m&aacute;y vector hỗ trợ (SVM)</strong>, v&agrave; nhiều thuật to&aacute;n kh&aacute;c. Mục ti&ecirc;u chung của c&aacute;c thuật to&aacute;n n&agrave;y đều l&agrave; t&igrave;m kiếm một h&agrave;m $latex f(x)$ để xếp xỉ quan hệ dự đo&aacute;n giữa đầu v&agrave;o v&agrave; đầu ra của bộ dữ liệu. Một số thuật to&aacute;n được thiết kế chỉ d&ugrave;ng cho b&agrave;i to&aacute;n hồi quy (<strong>hồi quy tuyến t&iacute;nh</strong>) hoặc ph&acirc;n lớp (<strong>hồi quy logistic</strong>), nhưng cũng c&oacute; một số thuật to&aacute;n c&oacute; thể sử dụng được cho cả hai b&agrave;i to&aacute;n với một ch&uacute;t điều chỉnh nhỏ (<strong>mạng nơ ron</strong>).</p> <p style="text-align: justify;">C&aacute;c thuật to&aacute;n n&agrave;y được gọi l&agrave; c&oacute; gi&aacute;m s&aacute;t bởi ch&uacute;ng học th&ocirc;ng qua một bộ dữ liệu đ&atilde; được g&aacute;n nh&atilde;n ch&iacute;nh x&aacute;c v&agrave; cố gắng đưa ra c&aacute;c dự đo&aacute;n đầu ra mục ti&ecirc;u ch&iacute;nh x&aacute;c nhất c&oacute; thể tr&ecirc;n bộ dữ liệu cho trước. Thuật ngữ "học c&oacute; gi&aacute;m s&aacute;t" hay "học c&oacute; thầy" xuất ph&aacute;t từ việc đầu ra mục ti&ecirc;u $latex y$ đ&atilde; được cung cấp bởi "thầy" hoặc "người hướng dẫn", người đ&atilde; g&aacute;n nh&atilde;n dữ liệu để cho m&ocirc; h&igrave;nh học m&aacute;y biết đ&acirc;u l&agrave; đ&uacute;ng, v&agrave; phải l&agrave;m như thế n&agrave;o để dự đo&aacute;n. Điều n&agrave;y giống hệt khi ch&uacute;ng ta được thầy c&ocirc; gi&aacute;o dạy ở trường, bạn được dạy đ&acirc;u l&agrave; chữ A, đ&acirc;u l&agrave; chữ B...v&agrave; sau n&agrave;y khi đ&atilde; tổng qu&aacute;t h&oacute;a được vấn đề, d&ugrave; bạn đọc một văn bản c&oacute; được viết "xấu" như thế n&agrave;o đi nữa th&igrave; về cơ bản bạn vẫn c&oacute; thể ph&acirc;n biệt được c&aacute;c chữ c&aacute;i n&agrave;y trong văn bản đ&oacute;. Hoặc bạn học được c&aacute;ch l&agrave;m ph&eacute;p cộng đơn giản v&agrave; bạn c&oacute; thể tổng qu&aacute;t h&oacute;a n&oacute; để t&iacute;nh được tổng của v&ocirc; số chữ số sau n&agrave;y m&agrave; kh&ocirc;ng cần phải học cụ thể để nhớ to&agrave;n bộ c&aacute;ch cộng đ&oacute; (chắc chắn điều n&agrave;y l&agrave; kh&ocirc;ng thể).</p> <h3 style="text-align: justify;">2. M&ocirc; h&igrave;nh học kh&ocirc;ng gi&aacute;m s&aacute;t (unsupervised learning)</h3> <p style="text-align: justify;">Học kh&ocirc;ng gi&aacute;m s&aacute;t l&agrave; một lớp m&ocirc; h&igrave;nh học sử dụng một thuật to&aacute;n để m&ocirc; tả hoặc tr&iacute;ch xuất ra c&aacute;c mối quan hệ tiềm ẩn trong dữ liệu. Kh&aacute;c với học c&oacute; gi&aacute;m s&aacute;t, học kh&ocirc;ng gi&aacute;m s&aacute;t chỉ thực thi tr&ecirc;n dữ liệu đầu v&agrave;o kh&ocirc;ng cần c&aacute;c thuộc t&iacute;nh nh&atilde;n, hoặc mục ti&ecirc;u của việc học. Tức l&agrave; kh&ocirc;ng hề được cung cấp trước một kiến thức n&agrave;o trước trừ dữ liệu. C&aacute;c dữ liệu kh&ocirc;ng được "hướng dẫn" trước như trong trường hợp học c&oacute; gi&aacute;m s&aacute;t. C&aacute;c thuật to&aacute;n cần học được từ dữ liệu m&agrave; kh&ocirc;ng hề c&oacute; bất cứ sự hướng dẫn n&agrave;o.</p> <p style="text-align: justify;">H&igrave;nh dưới đ&acirc;y cho thấy sự kh&aacute;c biệt giữa học c&oacute; gi&aacute;m s&aacute;t v&agrave; học kh&ocirc;ng gi&aacute;m s&aacute;t. Đối với học c&oacute; gi&aacute;m s&aacute;t ch&uacute;ng ta biết trước t&ecirc;n của c&aacute;c nh&atilde;n l&agrave; "m&egrave;o" hoặc "kh&ocirc;ng phải m&egrave;o" ttrong khi trong học kh&ocirc;ng gi&aacute;m s&aacute;t, t&ecirc;n của c&aacute;c nh&atilde;n kh&ocirc;ng c&oacute; trong bộ dữ liệu, ch&uacute;ng ta chỉ t&igrave;m được quan hệ rằng, c&oacute; một số ảnh giống nhau ở ph&iacute;a tr&ecirc;n (Similar Group 1) v&agrave; một số ảnh giống nhau ở ph&iacute;a dưới (Simliar Group 2). Ch&uacute;ng ta kh&ocirc;ng biết hai tập n&agrave;y l&agrave; g&igrave;, v&agrave; chỉ biết rằng ch&uacute;ng "giống nhau". Sau khi t&igrave;m được sự giống nhau n&agrave;y rồi, ch&uacute;ng ta vẫn c&oacute; thể g&aacute;n nh&atilde;n cho dữ liệu tương tự như b&agrave;i to&aacute;n ph&acirc;n lớp. Tuy nhi&ecirc;n, trong nhiều trường hợp, điều n&agrave;y đ&ograve;i hỏi kh&aacute; nhiều kiến thức của chuy&ecirc;n gia.</p> <p>[caption id="attachment_8247" align="aligncenter" width="678"]<img class="wp-image-8247" src="https://tek4.vn/wp-content/uploads/2021/02/Hoc-khong-giam-sat.png" alt="Học c&oacute; gi&aacute;m s&aacute;t v&agrave; học kh&ocirc;ng gi&aacute;m s&aacute;t" width="678" height="676" /> Học kh&ocirc;ng gi&aacute;m s&aacute;t (tham khảo: Kirk Borne)[/caption]</p> <p style="text-align: justify;">C&oacute; rất nhiều b&agrave;i to&aacute;n trong m&ocirc; h&igrave;nh học kh&ocirc;ng gi&aacute;m s&aacute;t, nổi bật nhất l&agrave; hai b&agrave;i to&aacute;n: ph&acirc;n cụm v&agrave; xấp xỉ ph&acirc;n phối x&aacute;c suất. B&agrave;i to&aacute;n ph&acirc;n cụm c&oacute; nhiệm vụ t&igrave;m kiếm c&aacute;c nh&oacute;m c&oacute; tương quan trong dữ liệu (như v&iacute; dụ tr&ecirc;n H&igrave;nh tr&ecirc;n), tức l&agrave; c&oacute; c&aacute;c đặc t&iacute;nh gần tương tự như nhau. B&agrave;i to&aacute;n xấp xỉ ph&acirc;n phối t&igrave;m c&aacute;ch tổng hợp dạng ph&acirc;n phối của dữ liệu.</p> <p style="text-align: justify;">Một v&iacute; dụ về thuật to&aacute;n ph&acirc;n cụm l&agrave; <strong>k-Means</strong>, trong đ&oacute; k đại diện cho số cụm cần t&igrave;m trong dữ liệu. Một v&iacute; dụ điển h&igrave;nh của c&aacute;c thuật to&aacute;n xấp xỉ ph&acirc;n phối l&agrave; thuật to&aacute;n <strong>xấp xỉ mật độ nh&acirc;n (Kernel Density Estimation) </strong>trong đ&oacute; sử dụng một nh&oacute;m nhỏ mẫu dữ liệu c&oacute; li&ecirc;n quan chặt chẽ với nhau để t&igrave;m c&aacute;ch xấp xỉ ph&acirc;n phối cho c&aacute;c điểm mới trong kh&ocirc;ng gian dữ liệu của b&agrave;i to&aacute;n. C&aacute;c m&ocirc; h&igrave;nh n&agrave;y c&oacute; thể được sử dụng để học ra c&aacute;c mẫu dạng trong dữ liệu m&agrave; kh&ocirc;ng cần g&aacute;n nh&atilde;n trước. Chẳng hạn c&aacute;c thư r&aacute;c v&agrave; thư th&ocirc;ng thường c&oacute; dạng kh&aacute;c nhau c&oacute; thể ph&acirc;n th&agrave;nh c&aacute;c cụm kh&aacute;c nhau m&agrave; kh&ocirc;ng cần biết trước nh&atilde;n của dữ liệu đầu v&agrave;o.</p> <p style="text-align: justify;">Ngo&agrave;i ra, một số b&agrave;i to&aacute;n c&oacute; thể được coi l&agrave; học kh&ocirc;ng gi&aacute;m s&aacute;t chẳng hạn như b&agrave;i to&aacute;n biểu diễn dữ liệu (data visualization) hoặc c&aacute;c phương ph&aacute;p chiếu dữ liệu (data projection). Biểu diễn dữ liệu l&agrave; b&agrave;i to&aacute;n học kh&ocirc;ng gi&aacute;m s&aacute;t li&ecirc;n quan đến việc x&acirc;y dựng c&aacute;c đồ thị v&agrave; biểu đồ để biểu diễn trực quan dữ liệu. C&ograve;n c&aacute;c phương ph&aacute;p chiếu cho ph&eacute;p tạo ra c&aacute;c biểu diễn dữ liệu c&oacute; số chiều &iacute;t hơn dữ liệu gốc nhưng vẫn giữ được c&aacute;c đặc t&iacute;nh của dữ liệu gốc. N&oacute; thường li&ecirc;n quan đến b&agrave;i to&aacute;n giảm chiều dữ liệu. Một đại diện thường gặp nhất của n&oacute; l&agrave; phương ph&aacute;p <strong>Ph&acirc;n t&iacute;ch th&agrave;nh phần ch&iacute;nh (Principal Component Analysis)</strong> cho ph&eacute;p tổng hợp bộ dữ liệu th&agrave;nh c&aacute;c trị ri&ecirc;ng v&agrave; vector ri&ecirc;ng trong đ&oacute; loại bỏ c&aacute;c th&agrave;nh phần c&oacute; quan hệ độc lập tuyến t&iacute;nh.</p> <p style="text-align: justify;">N&oacute;i t&oacute;m lại hai đặc điểm quan trọng nhất của unsupervised learning đ&oacute; l&agrave; dữ liệu kh&ocirc;ng c&oacute; d&atilde;n nh&atilde;n trước v&agrave; mục ti&ecirc;u để t&igrave;m ra c&aacute;c mối tương quan, c&aacute;c mẫu trong dữ liệu.</p> <h3 style="text-align: justify;">3. M&ocirc; h&igrave;nh học theo nh&oacute;m (Multi-Instance Learning)</h3> <p style="text-align: justify;">M&ocirc; h&igrave;nh học theo nh&oacute;m l&agrave; m&ocirc; h&igrave;nh trong đ&oacute; dữ liệu được g&aacute;n nh&atilde;n theo từng nh&oacute;m của mẫu chứ kh&ocirc;ng phải theo từng mẫu quan s&aacute;t. To&agrave;n bộ tập c&aacute;c mẫu quan s&aacute;t được g&aacute;n nh&atilde;n theo việc n&oacute; c&oacute; chứa hoặc kh&ocirc;ng chứa một mẫu n&agrave;o đ&oacute; của một lớp, nhưng c&aacute;c th&agrave;nh vi&ecirc;n ri&ecirc;ng biệt trong nh&oacute;m kh&ocirc;ng được g&aacute;n nh&atilde;n cụ thể. C&aacute;c mẫu n&agrave;y c&oacute; thể tr&ugrave;ng nhau một hoặc nhiều lần trong c&ugrave;ng một nh&oacute;m. Về cơ bản, m&ocirc; h&igrave;nh n&agrave;y c&oacute; thể được coi l&agrave; một trường hợp đặc biệt của b&agrave;i to&aacute;n học c&oacute; gi&aacute;m s&aacute;t. Một v&iacute; dụ đơn giản trong m&ocirc; h&igrave;nh ph&acirc;n lớp nhị ph&acirc;n theo nh&oacute;m, một nh&oacute;m c&oacute; thể được g&aacute;n nh&atilde;n &acirc;m t&iacute;nh nếu to&agrave;n bộ c&aacute;c mẫu quan s&aacute;t trong nh&oacute;m l&agrave; &acirc;m t&iacute;nh v&agrave; ngược lại nh&oacute;m được g&aacute;n l&agrave; dương t&iacute;nh nếu to&agrave;n bộ c&aacute;c mẫu trong nh&oacute;m l&agrave; dương t&iacute;nh. Từ tập hợp c&aacute;c nh&oacute;m được g&aacute;n nh&atilde;n, thuật to&aacute;n học m&aacute;y sẽ cố gắng suy ra một quy luật định nghĩa cho ph&eacute;p g&aacute;n nh&atilde;n c&aacute;c mẫu quan s&aacute;t cụ thể một c&aacute;ch ch&iacute;nh x&aacute;c hoặc học c&aacute;ch g&aacute;n nh&atilde;n c&aacute;c nh&oacute;m kh&aacute;c được đưa v&agrave;o m&agrave; kh&ocirc;ng cần suy luận ra c&aacute;c quy luật định nghĩa.</p> <p style="text-align: justify;">Một v&iacute; dụ cụ thể kh&aacute; đơn giản cho b&agrave;i to&aacute;n n&agrave;y được đưa ra bởi <a href="https://en.wikipedia.org/wiki/Multiple_instance_learning">Babenko năm 2008</a>: Giả sử c&oacute; một nh&oacute;m người, mỗi người trong số đ&oacute; c&oacute; một chuỗi kh&oacute;a chứa một số kh&oacute;a đơn. Một số c&oacute; thể v&agrave;o được một căn ph&ograve;ng cố định cho trước, v&agrave; một số th&igrave; kh&ocirc;ng. Nhiệm vụ của ch&uacute;ng ta l&agrave; phải dự đo&aacute;n xem ch&igrave;a kh&oacute;a n&agrave;o, hoặc chuỗi kh&oacute;a n&agrave;o c&oacute; thể cho ph&eacute;p đi v&agrave;o căn ph&ograve;ng tương ứng n&agrave;o. Để giải quyết b&agrave;i to&aacute;n n&agrave;y, ch&uacute;ng ta cần t&igrave;m ra ch&iacute;nh x&aacute;c ch&igrave;a kh&oacute;a chung trong tất cả c&aacute;c chuỗi kh&oacute;a "dương t&iacute;nh". Nếu ch&uacute;ng ta t&igrave;m được kh&oacute;a n&agrave;y th&igrave; ch&uacute;ng ta cũng c&oacute; thể ph&acirc;n loại ch&iacute;nh x&aacute;c to&agrave;n bộ chuỗi kh&oacute;a - l&agrave; dương t&iacute;nh nếu n&oacute; chứa kh&oacute;a chung được y&ecirc;u cầu v&agrave; &acirc;m t&iacute;nh nếu ngược lại.</p> <p style="text-align: justify;">Một c&aacute;ch tổng qu&aacute;t, mục ti&ecirc;u của b&agrave;i to&aacute;n n&agrave;y l&agrave; sử dụng c&aacute;c hiểu biết về một hoặc một số mẫu quan s&aacute;t trong nh&oacute;m li&ecirc;n quan đến nh&atilde;n mục ti&ecirc;u v&agrave; dự đo&aacute;n nh&atilde;n cho một nh&oacute;m mới trong tương lai dựa tr&ecirc;n cấu tr&uacute;c của c&aacute;c mẫu quan s&aacute;t kh&ocirc;ng được g&aacute;n nh&atilde;n của n&oacute;. Phương ph&aacute;p đơn giản nhất để thực hiện việc n&agrave;y l&agrave; g&aacute;n nh&atilde;n chung của nh&oacute;m cho to&agrave;n bộ c&aacute;c th&agrave;nh vi&ecirc;n ri&ecirc;ng biệt trong nh&oacute;m v&agrave; sử dụng c&aacute;c thuật to&aacute;n học c&oacute; gi&aacute;m s&aacute;t th&ocirc;ng thường. Đ&acirc;y l&agrave; một bước hữu &iacute;ch c&oacute; thể thực hiện đầu ti&ecirc;n trong m&ocirc; h&igrave;nh n&agrave;y.</p> <h3 style="text-align: justify;">4. M&ocirc; h&igrave;nh học b&aacute;n gi&aacute;m s&aacute;t (Semi-supervised learning)</h3> <p style="text-align: justify;">Như ở tr&ecirc;n ch&uacute;ng ta đ&atilde; thấy, nh&atilde;n của dữ liệu đ&oacute;ng vai tr&ograve; như c&aacute;c tri thức c&oacute; sẵn do con người "dạy" v&agrave; truyền thụ cho m&aacute;y để m&aacute;y c&oacute; khả năng học theo tri thức đ&oacute;. Trong học kh&ocirc;ng gi&aacute;m s&aacute;t ch&uacute;ng ta kh&ocirc;ng c&oacute; ai đưa v&agrave;o c&aacute;c nh&atilde;n cho dữ liệu, v&agrave; c&aacute;c thuật to&aacute;n phải tự học để t&igrave;m ra c&aacute;c quan hệ ẩn trong dữ liệu m&agrave; kh&ocirc;ng được hướng dẫn sẵn. Việc g&aacute;n nh&atilde;n dữ liệu kh&ocirc;ng phải l&agrave; một vấn đề đơn giản v&agrave; n&oacute; ti&ecirc;u tốn kh&aacute; nhiều thời gian, c&ocirc;ng sức hoặc thậm ch&iacute; trong kh&aacute; nhiều trường hợp ch&uacute;ng ta cũng rất kh&oacute; để g&aacute;n nh&atilde;n dữ liệu một c&aacute;ch ch&iacute;nh x&aacute;c hoặc đ&ograve;i hỏi kiến thức chuy&ecirc;n gia (chẳng hạn ảnh y tế, viễn th&aacute;m, vũ trụ...). Ch&iacute;nh v&igrave; vậy, trong nhiều b&agrave;i to&aacute;n ch&uacute;ng ta xem x&eacute;t đến việc học b&aacute;n gi&aacute;m s&aacute;t. Trong học b&aacute;n gi&aacute;m s&aacute;t, một số dữ liệu quan s&aacute;t dược g&aacute;n nh&atilde;n v&agrave; một số dữ liệu lại kh&ocirc;ng được g&aacute;n nh&atilde;n (số lượng n&agrave;y thường lớn hơn nhiều so với dữ liệu được g&aacute;n nh&atilde;n). C&aacute;c dữ liệu n&agrave;y được kết hợp với nhau để x&acirc;y dựng c&aacute;c m&ocirc; h&igrave;nh hiệu quả hơn.</p> <p style="text-align: justify;">Mục ti&ecirc;u của m&ocirc; h&igrave;nh học b&aacute;n gi&aacute;m s&aacute;t l&agrave; tận dụng hiệu quả của to&agrave;n bộ dữ liệu c&oacute; được, kh&ocirc;ng chỉ c&aacute;c dữ liệu đ&atilde; được g&aacute;n nh&atilde;n m&agrave; cả c&aacute;c dữ liệu chưa được g&aacute;n nh&atilde;n. Th&ocirc;ng thường, điều n&agrave;y sẽ l&agrave;m tăng t&iacute;nh ch&iacute;nh x&aacute;c của m&ocirc; h&igrave;nh x&acirc;y dựng được. Để l&agrave;m được điều n&agrave;y, m&ocirc; h&igrave;nh học b&aacute;n gi&aacute;m s&aacute;t thường kết hợp cả c&aacute;c thuật to&aacute;n học kh&ocirc;ng gi&aacute;m s&aacute;t lẫn c&oacute; gi&aacute;m s&aacute;t. C&aacute;c m&ocirc; h&igrave;nh học kh&ocirc;ng gi&aacute;m s&aacute;t như ph&acirc;n cụm hoặc xấp xỉ ph&acirc;n phối được sử dụng để t&igrave;m ra c&aacute;c mẫu v&agrave; nh&oacute;m dữ liệu, v&agrave; c&aacute;c nh&oacute;m dữ liệu n&agrave;y sau đ&oacute; sẽ được sử dụng để g&aacute;n nh&atilde;n dựa tr&ecirc;n c&aacute;c thuật to&aacute;n học c&oacute; gi&aacute;m s&aacute;t.</p> <p style="text-align: justify;">Học b&aacute;n gi&aacute;m s&aacute;t rất hiệu quả trong nhiều b&agrave;i to&aacute;n thực tế, khi t&agrave;i nguy&ecirc;n sử dụng để g&aacute;n nh&atilde;n dữ liệu rất tốn k&eacute;m. Chẳng hạn trong c&aacute;c b&agrave;i to&aacute;n <strong>thị gi&aacute;c m&aacute;y t&iacute;nh</strong> (dữ liệu ảnh), <strong>xử l&yacute; ng&ocirc;n ngữ tự nhi&ecirc;n</strong> (dữ liệu văn bản), <strong>nhận dạng giọng n&oacute;i</strong> (dữ liệu &acirc;m thanh). Học b&aacute;n gi&aacute;m s&aacute;t c&oacute; thể l&agrave;m tăng độ ch&iacute;nh x&aacute;c cho c&aacute;c m&ocirc; h&igrave;nh học c&oacute; gi&aacute;m s&aacute;t bằng c&aacute;ch tận dụng th&ocirc;ng tin từ c&aacute;c dữ liệu kh&ocirc;ng g&aacute;n nh&atilde;n. C&aacute;c dữ liệu n&agrave;y vốn rất phổ biến tr&ecirc;n m&ocirc;i trường Internet v&agrave; c&oacute; thể dễ d&agrave;ng kiếm được hơn l&agrave; số lượng hạn chế c&aacute;c dữ liệu c&oacute; g&aacute;n nh&atilde;n.</p> <h3 style="text-align: justify;">5. M&ocirc; h&igrave;nh học tự gi&aacute;m s&aacute;t (Self-supervised learning)</h3> <p style="text-align: justify;">M&ocirc; h&igrave;nh học tự gi&aacute;m s&aacute;t l&agrave; một m&ocirc; h&igrave;nh sử dụng c&aacute;c dữ liệu kh&ocirc;ng được g&aacute;n nh&atilde;n nhằm giải quyết một b&agrave;i to&aacute;n thay thế hoặc giả định sử dụng ch&iacute;nh dữ liệu n&agrave;y để tối ưu h&oacute;a một mục ti&ecirc;u n&agrave;o đ&oacute;. Kết quả của qu&aacute; tr&igrave;nh huấn luyện l&agrave; một m&ocirc; h&igrave;nh hoặc dạng biểu diễn c&oacute; thể được sử dụng để giải quyết b&agrave;i to&aacute;n gốc (b&agrave;i to&aacute;n thực). Nghe c&oacute; vẻ kh&aacute; kh&oacute; hiểu, tuy nhi&ecirc;n, về mặt bản chất c&oacute; thể n&oacute;i n&ocirc;m na rằng, học tự gi&aacute;m s&aacute;t c&oacute; nghĩa l&agrave; học với nh&atilde;n giả định từ ch&iacute;nh bộ dữ liệu kh&ocirc;ng g&atilde;n nh&atilde;n cho trước.</p> <p style="text-align: justify;">Một v&iacute; dụ phổ biến của m&ocirc; h&igrave;nh học tự gi&aacute;m s&aacute;t l&agrave; trong lĩnh vực thị gi&aacute;c m&aacute;y t&iacute;nh trong đ&oacute; một bộ dữ liệu ảnh kh&ocirc;ng g&aacute;n nh&atilde;n được cung cấp v&agrave; c&oacute; thể được sử dụng để huấn luyện một m&ocirc; h&igrave;nh c&oacute; gi&aacute;m s&aacute;t, chẳng hạn t&ocirc; m&agrave;u ảnh đen trắng (colorization), hoặc t&igrave;m c&aacute;c phần bị mất ở trong ảnh (inpainting).</p> <p style="text-align: justify;">Một m&ocirc; h&igrave;nh học tự gi&aacute;m s&aacute;t phổ biến c&oacute; thể kể đến l&agrave; c&aacute;c mạng <strong>Autoencoder</strong>. Đ&acirc;y l&agrave; một kiểu mạng nơ ron được sử dụng để n&eacute;n biểu diễn của một mẫu đầu v&agrave;o. Mục ti&ecirc;u của n&oacute; l&agrave; sao ch&eacute;p c&aacute;c thuộc t&iacute;nh của dữ liệu đầu v&agrave;o ra lớp đầu ra nhằm giảm chiều dữ liệu hoặc học c&aacute;c thuộc t&iacute;nh ẩn từ dữ liệu. Ta thấy rằng, dữ liệu được sử dụng như l&agrave; nh&atilde;n của ch&iacute;nh n&oacute;, tức l&agrave; thuật to&aacute;n so s&aacute;nh kết quả sau khi chạy qua kiến tr&uacute;c autoencoder với ch&iacute;nh dữ liệu đầu v&agrave;o để x&aacute;c định rằng dữ liệu sau khi chạy qua Autoencoder c&oacute; gần khớp xấp xỉ với dữ liệu gốc hay kh&ocirc;ng. Đ&acirc;y l&agrave; một phương ph&aacute;p học c&oacute; gi&aacute;m s&aacute;t nhằm giải quyết b&agrave;i to&aacute;n học kh&ocirc;ng gi&aacute;m s&aacute;t. Một v&iacute; dụ kh&aacute;c của self-supervised learning l&agrave; c&aacute;c kiến tr&uacute;c <strong>mạng sinh đối nghịch (GAN). </strong>M&ocirc; h&igrave;nh n&agrave;y được sử dụng để tạo c&aacute;c dữ liệu nh&acirc;n tạo sử dụng một tập c&aacute;c dữ liệu kh&ocirc;ng g&aacute;n nh&atilde;n từ một nguồn mục ti&ecirc;u. GAN được huấn luyện gi&aacute;n tiếp th&ocirc;ng qua m&ocirc; h&igrave;nh ph&acirc;n t&aacute;ch giữa một mạng sinh v&agrave; một mạng đ&aacute;nh gi&aacute;. Mạng đ&aacute;nh gi&aacute; sẽ l&agrave;m việc như một m&ocirc; h&igrave;nh học c&oacute; gi&aacute;m s&aacute;t để đưa ra kết quả dữ liệu sinh ra l&agrave; "thật" hay "giả" dựa tr&ecirc;n dữ liệu đầu v&agrave;o kh&ocirc;ng g&aacute;n nh&atilde;n. Kết quả của qu&aacute; tr&igrave;nh sẽ đưa ra c&aacute;c đầu ra được sinh gần như dữ liệu thật.</p> <p>[caption id="attachment_8183" align="aligncenter" width="816"]<img class=" wp-image-8183" src="https://tek4.vn/wp-content/uploads/2021/02/deepfake.jpg" alt="deepfake" width="816" height="663" /> Nguồn: MIT[/caption]</p> <h3 style="text-align: justify;">6. M&ocirc; h&igrave;nh học tăng cường (Reinforcement Learning)</h3> <p style="text-align: justify;">Học tăng cường (Reinforcement Learning) l&agrave; m&ocirc; h&igrave;nh học trong đ&oacute; thuật to&aacute;n tự động sử dụng c&aacute;c phản hồi từ m&ocirc;i trường để điều chỉnh hoạt động của ch&iacute;nh m&igrave;nh sao cho tối đa nhất hiệu quả đạt được. Thuật to&aacute;n reinforcement learning sẽ đo c&aacute;c phản hồi từ m&ocirc;i trường v&agrave; sử dụng một h&agrave;m đ&aacute;nh gi&aacute; để t&igrave;m c&aacute;c phương &aacute;n h&agrave;nh động nhằm tăng cường phần thưởng nhận được (phản hồi t&iacute;ch cực) từ m&ocirc;i trường. Trong m&ocirc; h&igrave;nh n&agrave;y, kh&ocirc;ng c&oacute; tập huấn luyện cố định, thuật to&aacute;n chỉ cần một mục ti&ecirc;u hoặc một nh&oacute;m c&aacute;c mục ti&ecirc;u cần đạt, tập c&aacute;c h&agrave;nh vi c&oacute; thể thực hiện, v&agrave; dữ liệu phản hồi về hiệu quả thực thi của c&aacute;c h&agrave;nh động so với mục ti&ecirc;u đề ra.</p> <p style="text-align: justify;">M&ocirc; h&igrave;nh n&agrave;y c&oacute; vẻ tương tự với m&ocirc; h&igrave;nh học c&oacute; gi&aacute;m s&aacute;t ở chỗ n&oacute; đều dựa tr&ecirc;n c&aacute;c phản hồi để học, tuy nhi&ecirc;n phản hồi trong m&ocirc; h&igrave;nh học tăng cường kh&ocirc;ng c&oacute; sẵn trong dữ liệu được cung cấp m&agrave; được thu nhận từ m&ocirc;i trường v&agrave; do đ&oacute; n&oacute; c&oacute; thể c&oacute; độ trễ nhất định hoặc chứa nhiều nhiễu. Điều n&agrave;y l&agrave;m cho m&ocirc; h&igrave;nh kh&oacute; khăn trong việc kết nối giữa h&agrave;nh động v&agrave; phản hồi một c&aacute;ch ch&iacute;nh x&aacute;c, ngay lập tức v&agrave; cần một thời gian tương đối để thực hiện huấn luyện.</p> <p style="text-align: justify;">Trong nhiều vấn đề phức tạp, học tăng cường gần như l&agrave; c&aacute;ch thức duy nhất để huấn luyện một chương tr&igrave;nh c&oacute; thể thực thi đạt hiệu quả cao, chấp nhận được. Bởi, trong những b&agrave;i to&aacute;n phức tạp, dữ liệu c&oacute; mu&ocirc;n h&igrave;nh vạn trạng v&agrave; gần như rất kh&oacute; c&oacute; thể g&aacute;n nh&atilde;n hoặc thậm ch&iacute; ch&iacute;nh con người c&ograve;n kh&ocirc;ng thể thực hiện tốt v&agrave; thậm ch&iacute; kh&ocirc;ng biết thế n&agrave;o l&agrave; tốt như l&aacute;i xe, l&aacute;i m&aacute;y bay, chơi cờ...th&igrave; việc &aacute;p dụng c&aacute;c m&ocirc; h&igrave;nh học th&ocirc;ng thường như ở tr&ecirc;n l&agrave; điều kh&ocirc;ng tưởng. Trong những trường hợp như vậy, học tăng cường sẽ cho thấy gi&aacute; trị khổng lồ của m&igrave;nh.</p> <p style="text-align: justify;">Chẳng hạn, trong c&aacute;c tr&ograve; chơi, con người cũng rất kh&oacute; để cung cấp c&aacute;c đ&aacute;nh gi&aacute; ch&iacute;nh x&aacute;c v&agrave; ổn định về c&aacute;c trạng th&aacute;i khi chơi chẳng hạn tr&ograve; chơi cờ vua mỗi nước đi sẽ kh&ocirc;ng ảnh hưởng trực tiếp đến kết quả m&agrave; c&ograve;n phụ thuộc rất nhiều v&agrave;o c&aacute;c nước đi kh&aacute;c, do đ&oacute; con người rất kh&oacute; g&aacute;n nh&atilde;n được dữ liệu, trong khi c&aacute;c dữ liệu n&agrave;y l&agrave; yếu tố cốt yếu để huấn luyện một m&ocirc; h&igrave;nh theo c&aacute;ch th&ocirc;ng thường từ c&aacute;c mẫu quan s&aacute;t. Điều n&agrave;y l&agrave;m cho huấn luyện m&ocirc; h&igrave;nh theo c&aacute;ch th&ocirc;ng thường sẽ kh&ocirc;ng đạt hiệu quả tốt. Trong reinforcement learning, chương tr&igrave;nh sẽ được cung cấp phản hồi khi n&agrave;o n&oacute; thua v&agrave; khi n&agrave;o thắng, khi n&agrave;o được thưởng điểm, khi n&agrave;o bị phạt...v&agrave; n&oacute; c&oacute; thể sử dụng c&aacute;c th&ocirc;ng tin n&agrave;y để học một h&agrave;m đ&aacute;nh gi&aacute; đủ tốt cho việc xấp xỉ một x&aacute;c suất để gi&agrave;nh chiến thằng từ trạng th&aacute;i bất kỳ của mỗi h&agrave;nh động, v&agrave; từ đ&oacute; c&oacute; thể thực hiện một chuỗi h&agrave;nh động m&agrave; c&oacute; x&aacute;c suất gi&agrave;nh chiến thắng cao nhất.</p> <p>[caption id="attachment_8227" align="aligncenter" width="780"]<img class=" wp-image-8227" src="https://tek4.vn/wp-content/uploads/2021/02/alphago.jpeg" alt="AlphaGo - V&iacute; dụ kinh điển về học tăng cường" width="780" height="439" /> AlphaGo - V&iacute; dụ kinh điển về học tăng cường[/caption]</p> <p style="text-align: justify;">Một v&iacute; dụ điển h&igrave;nh cho thấy sức mạnh của học tăng cường đ&oacute; l&agrave; AlphaGo (ra đời 2016). Đ&acirc;y l&agrave; một m&ocirc; h&igrave;nh reinforcement learning được huấn luyện bởi Google cho tr&ograve; chơi cờ v&acirc;y. Một m&ocirc;n cờ được xem l&agrave; c&oacute; độ phức tạp cực kỳ kinh khủng về mặt t&iacute;nh to&aacute;n (với tổng số nước đi ước t&iacute;nh khoảng $latex 10^761$). Con số n&agrave;y rất lớn nếu so với <a href="https://en.wikipedia.org/wiki/Shannon_number">tổng số nước đi trong cờ vua</a> (khoảng $latex 10^120$) v&agrave; <a href="https://en.wikipedia.org/wiki/Observable_universe#Matter_content">tổng số ph&acirc;n tử trong vũ trụ</a> (khoảng $latex 10^80$). Do vậy, c&aacute;c thuật to&aacute;n th&ocirc;ng thường để lựa chọn nước đi tối ưu trong h&agrave;ng tỷ tỷ nước khả dụng l&agrave; kh&ocirc;ng thể thực hiện được, ngay cả với thuật to&aacute;n đ&atilde; được sử dụng trong IBM Deep Blue (đ&atilde; thắng con người trong m&ocirc;n cờ vua c&aacute;ch đ&oacute; gần 20 năm). AlphaGo sử dụng một m&ocirc; h&igrave;nh đặc biệt kết hợp giữa cả việc <a href="https://deepmind.com/blog/article/alphago-zero-starting-scratch">học c&oacute; gi&aacute;m s&aacute;t v&agrave; học tăng cường</a>. Phần học c&oacute; gi&aacute;m s&aacute;t được sử dụng để huấn luyện dữ liệu từ c&aacute;c v&aacute;n cờ do con người chơi với nhau, c&ograve;n phần học tăng cường được sử dụng sau khi học xong phần huấn luyện ph&iacute;a trước cho ph&eacute;p AlphaGo tự chơi với ch&iacute;nh n&oacute; h&agrave;ng triệu v&aacute;n cờ để t&igrave;m ra c&aacute;ch chơi tối ưu hơn. Bằng c&aacute;ch kết hợp n&agrave;y, trong lần đầu ti&ecirc;n xuất hiện AlphaGo đ&atilde; thắng kỳ thủ v&ocirc; địch thế giới thời đ&oacute; l&agrave; Lee Sedol một tỷ số &aacute;p đảo l&agrave; 4-1 v&agrave; chỉ <a href="https://en.wikipedia.org/wiki/AlphaGo_versus_Lee_Sedol">để thua duy nhất một v&aacute;n ở v&aacute;n thứ tư</a>. V&agrave; thậm ch&iacute;, người đ&agrave;n em <a href="https://en.wikipedia.org/wiki/AlphaGo_Zero">Alpha Zero</a> sau n&agrave;y, c&ograve;n thắng &aacute;p đảo AlphaGo với tỷ số kh&ocirc;ng tưởng l&agrave; 100-0. Từ sự kiện n&agrave;y, kỳ thủ từng 18 lần v&ocirc; địch cờ Go thế giới Le Sedol đ&atilde; tuy&ecirc;n bổ giải nghệ v&agrave; ph&aacute;t biểu rằng AI đ&atilde; vượt qua con người.</p> <p style="text-align: justify;">Một v&iacute; dụ kinh điển kh&aacute;c l&agrave; hệ thống OpenAI gi&agrave;nh chiến thắng &aacute;p đảo trước đội chơi DoTA mạnh nhất thời điểm đ&oacute;. Bạn c&oacute; thể tham khảo trận đấu kinh điển n&agrave;y ở video ph&iacute;a dưới.</p> <p style="text-align: justify;">[mom_video type="youtube" id="eaBYhLttETw"]</p> <p style="text-align: justify;">Một số v&iacute; dụ về c&aacute;c thuật to&aacute;n reinforcement learing c&oacute; thể kể đến như: Q-learning hay deep reinforcement learning. Đ&acirc;y l&agrave; hướng tiếp cận cho hiệu quả cao trong nhiều b&agrave;i to&aacute;n phức tạp đặc biệt c&oacute; ứng dụng trong việc tạo ra c&aacute;c robot v&agrave; xe tự h&agrave;nh, một trong những xu thế của tương lai v&agrave; tạo ra những cỗ m&aacute;y c&oacute; thể thay thế con người.</p> <h2 style="text-align: justify;">Ph&acirc;n loại m&ocirc; h&igrave;nh học m&aacute;y theo c&aacute;ch thức suy diễn từ dữ liệu</h2> <p style="text-align: justify;">Dựa tr&ecirc;n c&aacute;ch thức suy diễn từ dữ liệu, ch&uacute;ng ta chia c&aacute;c m&ocirc; h&igrave;nh th&agrave;nh ba dạng: quy nạp, suy diễn v&agrave; chuyển đổi. Quy nạp l&agrave; qu&aacute; tr&igrave;nh học một m&ocirc; h&igrave;nh tổng qu&aacute;t từ c&aacute;c mẫu quan s&aacute;t cụ thể (cụ thể đến tổng qu&aacute;t), suy diễn l&agrave; qu&aacute; tr&igrave;nh sử dụng c&aacute;c quy luật tổng qu&aacute;t để suy ra c&aacute;c dự đo&aacute;n cho c&aacute;c trường hợp cụ thể (tổng qu&aacute;t đến cụ thể), c&ograve;n chuyển đổi l&agrave; qu&aacute; tr&igrave;nh sử dụng trực tiếp dữ liệu quan s&aacute;t để dự đo&aacute;n (cụ thể đến cụ thể). Mối quan hệ của ba qu&aacute; tr&igrave;nh n&agrave;y được biểu diễn như h&igrave;nh dưới đ&acirc;y:</p> <p style="text-align: justify;"><img class="wp-image-8281 aligncenter" src="https://tek4.vn/wp-content/uploads/2021/02/Inductive-learning-and-Deductive-learning.png" alt="Inductive learning and Deductive learning" width="630" height="271" /></p> <h3 style="text-align: justify;">1. Học quy nạp (Inductive Learning)</h3> <p style="text-align: justify;">M&ocirc; h&igrave;nh học quy nạp hoạt động bằng c&aacute;ch sử dụng c&aacute;c trường hợp dữ liệu cụ thể ri&ecirc;ng biệt để tổng qu&aacute;t h&oacute;a kết quả đầu ra (tức l&agrave; từ cụ thể đến tổng qu&aacute;t). C&oacute; thể thấy, hầu hết c&aacute;c m&ocirc; h&igrave;nh machine learning được sử dụng rộng r&atilde;i hiện nay đều sử dụng phương thức học dạng quy nạp n&agrave;y. C&aacute;c m&ocirc; h&igrave;nh thường t&igrave;m c&aacute;ch t&igrave;m ra c&aacute;c quy luật tổng qu&aacute;t (c&aacute;c luật, m&ocirc; h&igrave;nh, mẫu, h&agrave;m $latex f$...) từ c&aacute;c mẫu quan s&aacute;t cụ thể trong bộ dữ liệu. Mục ti&ecirc;u của Inductive learning l&agrave; t&igrave;m ra một quy luật chung để sử dụng trong tương lai từ c&aacute;c quan s&aacute;t cụ thể trong qu&aacute; khứ.</p> <p style="text-align: justify;">Qu&aacute; tr&igrave;nh huấn luyện m&ocirc; h&igrave;nh học m&aacute;y l&agrave; một qu&aacute; tr&igrave;nh quy nạp. M&ocirc; h&igrave;nh l&agrave; một quy luật tổng qu&aacute;t h&oacute;a từ c&aacute;c mẫu đầu v&agrave;o cụ thể ri&ecirc;ng biệt trong tập huấn luyện. N&oacute; được x&acirc;y dựng từ tập huấn luyện v&agrave; được tin l&agrave; sẽ c&oacute; khả năng tổng qu&aacute;t được tr&ecirc;n to&agrave;n bộ c&aacute;c dữ liệu tương tự của b&agrave;i to&aacute;n (d&ugrave; l&agrave; đa phần chưa được thấy trong bộ dữ liệu huấn luyện). Tức l&agrave; ch&uacute;ng ta thấy 1+1=2, 1+2=3,... v&agrave; ch&uacute;ng ta mong muốn rằng 1+n=n+1 với n l&agrave; số bất kỳ c&oacute; thể lớn v&ocirc; hạn. Tất nhi&ecirc;n đ&acirc;y chỉ l&agrave; một v&iacute; dụ h&igrave;nh thức bởi n&oacute; hiển nhi&ecirc;n đ&uacute;ng. Tuy nhi&ecirc;n, trong nhiều trường hợp quy luật thu được c&oacute; thể đ&uacute;ng tr&ecirc;n dữ liệu huấn luyện nhưng lại sai tr&ecirc;n dữ liệu mới chưa được quan s&aacute;t (vấn đề n&agrave;y gọi l&agrave; overfitting - bạn c&oacute; thể tham khảo vấn đề n&agrave;y trong b&agrave;i viết sau đ&acirc;y).</p> <p style="text-align: justify;">Về cơ bản ch&uacute;ng ta sẽ kh&ocirc;ng thể c&oacute; được to&agrave;n bộ dữ liệu quan s&aacute;t c&oacute; thể, số lượng n&agrave;y lu&ocirc;n lu&ocirc;n l&agrave; hữu hạn do sự hạn chế về nguồn lực, cũng như t&aacute;c dụng ch&iacute;nh của machine learning ch&iacute;nh l&agrave; việc tổng qu&aacute;t h&oacute;a n&agrave;y, nếu ch&uacute;ng ta đ&atilde; c&oacute; to&agrave;n bộ dữ liệu th&igrave; ch&uacute;ng ta chỉ cần đơn giản tạo ra một chương tr&igrave;nh t&igrave;m kiếm ch&iacute;nh x&aacute;c, khi đ&oacute; n&oacute; lu&ocirc;n ch&iacute;nh x&aacute;c 100%, nhưng điều ta muốn ở machine learning đ&oacute; l&agrave; d&ugrave;ng &iacute;t dữ liệu quan s&aacute;t được nhưng vẫn c&oacute; thể tổng qu&aacute;t h&oacute;a được th&agrave;nh quy luật. Đ&acirc;y gọi l&agrave; học chứ kh&ocirc;ng đơn thuần l&agrave; nhớ dữ liệu. Đ&acirc;y l&agrave; cơ sở của học quy nạp.</p> <h3 style="text-align: justify;">2. Học suy diễn (Deductive Inference)</h3> <p style="text-align: justify;">Suy diễn (Diễn dịch) l&agrave; qu&aacute; tr&igrave;nh ngược lại của qu&aacute; tr&igrave;nh quy nạp. Tại đ&oacute;, m&ocirc; h&igrave;nh sử dụng c&aacute;c quy luật tổng qu&aacute;t để suy ra c&aacute;c trường hợp đầu ra cụ thể (từ tổng qu&aacute;t đến cụ thể). C&oacute; thể v&iacute; qu&aacute; tr&igrave;nh diễn dịch l&agrave; qu&aacute; tr&igrave;nh luận giải từ tr&ecirc;n xuống (top-down) tức l&agrave; t&igrave;m kiếm to&agrave;n bộ c&aacute;c nh&aacute;nh tương ứng của quy luật trước khi x&aacute;c định ra kết luận. C&ograve;n qu&aacute; tr&igrave;nh quy nạp l&agrave; qu&aacute; tr&igrave;nh từ dưới l&ecirc;n (button-up) tức l&agrave; sử dụng c&aacute;c dữ liệu c&oacute; săn như c&aacute;c bằng chứng để suy luận ra đầu ra. Trong AI n&oacute;i chung, <a href="https://tek4.vn/machine-learning-la-gi-nhung-khai-niem-co-ban/">đ&acirc;y l&agrave; hướng tiếp cận "suy nghĩ hợp l&yacute;"</a> tức l&agrave; biểu diễn c&aacute;c quy luật nếu th&igrave; do con người tự tổng qu&aacute;t h&oacute;a v&agrave; đặt ra cho m&aacute;y thực hiện. Đ&acirc;y l&agrave; một hướng tiếp cận ngược với machine learning. Nh&igrave;n chung, trong machine learning, qu&aacute; tr&igrave;nh n&agrave;y chỉ được sử dụng trong pha dự đo&aacute;n khi ch&uacute;ng ta sử dụng một m&ocirc; h&igrave;nh đ&atilde; được huấn luyện trước th&ocirc;ng qua qu&aacute; tr&igrave;nh quy nạp ở tr&ecirc;n. Đ&oacute; l&agrave; l&iacute; do tại sao ch&uacute;ng ta sử dụng từ Deductive Inference ở đ&acirc;y. Bởi qu&aacute; tr&igrave;nh n&agrave;y kh&ocirc;ng học bất cứ thứ g&igrave; (quy luật đ&atilde; c&oacute; sẵn) v&agrave; m&ocirc; h&igrave;nh chỉ việc thực hiện việc suy diễn theo quy luật đ&atilde; cho trước n&agrave;y.</p> <h3 style="text-align: justify;">3. Học chuyển đổi (Transductive Learning)</h3> <p style="text-align: justify;">Học chuyển đổi (transductive learning) được sử dụng trong l&yacute; thuyết về c&aacute;c m&ocirc; h&igrave;nh học m&aacute;y thống k&ecirc; khi ch&uacute;ng ta muốn dự đo&aacute;n một mẫu cụ thể n&agrave;o đ&oacute; dựa tr&ecirc;n một số mẫu quan s&aacute;t cho trước cụ thể kh&aacute;c từ một miền b&ecirc;n ngo&agrave;i miền dự đo&aacute;n. N&oacute;i c&aacute;ch kh&aacute;c, ch&uacute;ng ta kh&ocirc;ng cần x&acirc;y dựng c&aacute;c quy luật tổng qu&aacute;t từ c&aacute;c mẫu quan s&aacute;t m&agrave; ch&uacute;ng ta sẽ sử dụng trực tiếp c&aacute;c mẫu n&agrave;y để đối chiếu v&agrave; cho ra kết quả dự đo&aacute;n (từ cụ thể đến cụ thể). Điều n&agrave;y ngược lại với qu&aacute; tr&igrave;nh học quy nạp (từ cụ thể đến tổng qu&aacute;t). Học chuyển đổi được sử dụng trong trường hợp học quy nạp qu&aacute; phức tạp, tức l&agrave; kh&oacute; để t&igrave;m ra một quy luật chung tổng qu&aacute;t từ dữ liệu quan s&aacute;t được. Khi đ&oacute; c&aacute;c mẫu cụ thể quan s&aacute;t được sử được sử dụng trực tiếp để dự đo&aacute;n.</p> <p style="text-align: justify;">Một v&iacute; dụ điển h&igrave;nh của học chuyển đổi đ&oacute; l&agrave; thuật to&aacute;n <strong>k-h&agrave;ng x&oacute;m gần nhất (k-Nearest Neighbors)</strong>, tại đ&oacute; c&aacute;c mẫu sẽ được sử dụng trực tiếp để t&iacute;nh cho dữ liệu đầu v&agrave;o mới. Chẳng hạn nếu bạn c&oacute; sở th&iacute;ch tương đồng với một số &ocirc;ng kh&aacute;c th&igrave; c&oacute; lẽ bạn c&oacute; thể thuộc c&ugrave;ng một nh&oacute;m với họ v&agrave; c&oacute; thể th&iacute;ch một số sản phẩm kh&aacute;c m&agrave; bạn chưa mua nhưng họ đ&atilde; mua v&agrave; đ&aacute;nh gi&aacute; tốt. Rất đơn giản phải kh&ocirc;ng ạ?</p> <h2 style="text-align: justify;">C&aacute;c kỹ thuật học</h2> <p style="text-align: justify;">C&oacute; rất nhiều c&aacute;c kỹ thuật học kh&aacute;c nhau trong machine learning, trong phần n&agrave;y ch&uacute;ng ta sẽ điểm qua một số kỹ thuật học phổ biến nhất bao gồm:</p> <ul style="text-align: justify;"> <li>Học chủ động (active learning)</li> <li>Học theo l&ocirc; (batch learning) v&agrave; học trực tiếp (online learning)</li> <li>Học theo dữ liệu (Instance-based learning) v&agrave; học theo m&ocirc; h&igrave;nh (model-based learning)</li> <li>Học kết hợp (ensemble learning)</li> <li>Học chuyển giao (Transer learning)</li> </ul> <h3 style="text-align: justify;">1. Học chủ động (Active Learning)</h3> <p style="text-align: justify;">Học chủ động (active learning) l&agrave; m&ocirc; h&igrave;nh c&oacute; khả năng truy vấn trực tiếp đến người d&ugrave;ng con người ngay trong qu&aacute; tr&igrave;nh học để giải quyết vấn đề mơ hồ trong qu&aacute; tr&igrave;nh học. Điều n&agrave;y giống như khi bạn học tr&ecirc;n lớp nhưng kh&ocirc;ng hiểu, bạn ngay lập tức hỏi thầy gi&aacute;o. M&aacute;y cũng vậy. M&ocirc; h&igrave;nh active learning cho ph&eacute;p m&aacute;y c&oacute; khả năng thu thập ngay lập tức c&aacute;c c&aacute;c mẫu huấn luyện bằng c&aacute;ch truy vấn đến một b&ecirc;n tham gia (c&oacute; thể l&agrave; con người) để y&ecirc;u cầu g&aacute;n nh&atilde;n cho c&aacute;c điểm dữ liệu mới.</p> <p style="text-align: justify;">C&aacute;c thuật to&aacute;n machine learning c&oacute; thể đạt được độ ch&iacute;nh x&aacute;c cao hơn với &iacute;t nh&atilde;n dữ liệu huấn luyện hơn nếu n&oacute; cho ph&eacute;p chọn dữ liệu được sử dụng để học. M&ocirc; h&igrave;nh c&oacute; khả năng đưa ra c&aacute;c truy vấn, thường l&agrave; dưới dạng c&aacute;c đối tượng dữ liệu kh&ocirc;ng g&aacute;n nh&atilde;n được sử dụng để y&ecirc;u cầu một b&ecirc;n g&aacute;n nh&atilde;n (thường l&agrave; con người). Sau đ&oacute;, sử dụng dữ liệu n&agrave;y để huấn luyện. Về cơ bản, n&oacute; c&oacute; kh&aacute; nhiều điểm tương đồng với c&aacute;c m&ocirc; h&igrave;nh học b&aacute;n gi&aacute;m s&aacute;t. Tuy nhi&ecirc;n, thay v&igrave; sử dụng c&aacute;c th&ocirc;ng tin thu được từ dữ liệu kh&ocirc;ng g&aacute;n nh&atilde;n, n&oacute; cố gắng thu được c&aacute;c th&ocirc;ng tin chưa biết từ việc truy vấn g&aacute;n nh&atilde;n. N&oacute; kh&ocirc;ng theo chiến thuật c&agrave;ng nhiều dữ liệu c&agrave;ng tốt m&agrave; chọn lọc những dữ liệu c&oacute; &yacute; nghĩa nhất. Active learning thường được sử dụng trong c&aacute;c b&agrave;i to&aacute;n kh&ocirc;ng c&oacute; nhiều dữ liệu v&agrave; việc thu thập v&agrave; g&aacute;n nh&atilde;n dữ liệu mới l&agrave; tương đối tốn k&eacute;m. Qu&aacute; tr&igrave;nh học t&iacute;ch cực cho ph&eacute;p lấy mẫu theo miền ứng dụng một c&aacute;ch c&oacute; định hướng qua đ&oacute; giảm thiểu số lượng mẫu cần thu thập v&agrave; tối đa h&oacute;a hiệu quả của m&ocirc; h&igrave;nh. N&oacute; thường được sử dụng trong c&aacute;c ứng dụng trong đ&oacute; rất kh&oacute; để g&aacute;n nh&atilde;n chẳng hạn như c&aacute;c ứng dụng t&iacute;nh to&aacute;n sinh học.</p> <h3 style="text-align: justify;">2. Học theo l&ocirc; (batch learning) v&agrave; học trực tiếp (online learning)</h3> <p style="text-align: justify;">Đ&acirc;y l&agrave; hai kh&aacute;i niệm li&ecirc;n quan đến lượng dữ liệu v&agrave; thời điểm sử dụng dữ liệu trong qu&aacute; tr&igrave;nh huấn luyện. Hầu hết c&aacute;c m&ocirc; h&igrave;nh machine learning đều hoạt động theo l&ocirc; (batch learning), tức l&agrave; việc huấn luyện được thực hiện ngoại tuyến tr&ecirc;n to&agrave;n bộ tập dữ liệu (hoặc một l&ocirc; của dữ liệu). Trong trường hợp n&agrave;y, để huấn luyện m&ocirc; h&igrave;nh cần đ&ograve;i hỏi thuật to&aacute;n phải chạy hết to&agrave;n bộ bộ dữ liệu &iacute;t nhất một lần, thậm ch&iacute; rất nhiều lần (epoch). V&agrave; khi muốn sử dụng một lượng dữ liệu mới để huấn luyện m&ocirc; h&igrave;nh th&igrave; thuật to&aacute;n cần chạy lại tr&ecirc;n to&agrave;n bộ tập hợp bộ dữ liệu cũ lẫn mới hay n&oacute;i c&aacute;ch kh&aacute;c l&agrave; cần huấn luyện lại (retrain) tr&ecirc;n to&agrave;n bộ bộ dữ liệu. Điều n&agrave;y kh&aacute; tốn k&eacute;m cho mỗi lần cập nhật m&ocirc; h&igrave;nh. Tuy nhi&ecirc;n, c&oacute; một số thuật to&aacute;n cho ph&eacute;p học trực tiếp (trực tuyến) nghĩa l&agrave; cứ c&oacute; dữ liệu v&agrave;o m&ocirc; h&igrave;nh ngay lập tức được cập nhật m&agrave; kh&ocirc;ng cần qu&aacute; tr&igrave;nh huấn luyện lại tr&ecirc;n to&agrave;n bộ bộ dữ liệu.</p> <p style="text-align: justify;">Online learning ph&ugrave; hợp cho những b&agrave;i to&aacute;n m&agrave; c&aacute;c quan s&aacute;t được cung cấp li&ecirc;n tục theo thời gian v&agrave; ph&acirc;n phối x&aacute;c suất của c&aacute;c quan s&aacute;t c&ugrave;ng sẽ c&oacute; thể thay đổi theo thời gian. Qu&aacute; tr&igrave;nh huấn luyện sẽ được thực thi ngay lập tức, m&ocirc; h&igrave;nh được cập nhật ngay khi nhận được dữ liệu mới chứ kh&ocirc;ng cần chờ đợi để chạy hết to&agrave;n bộ tập huấn luyện. Ngo&agrave;i ra, n&oacute; cũng được sử dụng hữu hiệu trong c&aacute;c b&agrave;i to&aacute;n m&agrave; số lượng quan s&aacute;t (k&iacute;ch thước bộ dữ liệu) qu&aacute; lớn để đưa v&agrave;o bộ nhớ. Khi đ&oacute; qu&aacute; tr&igrave;nh học được thực hiện một c&aacute;ch li&ecirc;n tục qua c&aacute;c quan s&aacute;t, tương tự như qu&aacute; tr&igrave;nh stream dữ liệu.</p> <p style="text-align: justify;">Th&ocirc;ng thường, c&aacute;c m&ocirc; h&igrave;nh online learning cần tối thiểu h&oacute;a được lỗi trung b&igrave;nh xảy ra khi huấn luyện tr&ecirc;n từng mẫu thay v&igrave; tr&ecirc;n to&agrave;n bộ tập dữ liệu huấn luyện. Một v&iacute; dụ của online learning l&agrave; thuật to&aacute;n stochastic gradient descent (SGD) hoặc online gradient descent được sử dụng để huấn luyện mạng nơ ron. Trong khi c&aacute;c biến thể kh&aacute;c như batch stochastic gradient descent hoặc mini-bath stochastic gradient descent thực hiện tr&ecirc;n nhiều dữ liệu hơn.</p> <h3 style="text-align: justify;">3. Học theo dữ liệu (Instance-based learning) v&agrave; học theo m&ocirc; h&igrave;nh (model-based learning)</h3> <p style="text-align: justify;">Hai dạng n&agrave;y tương tự như học quy nạp (Inductive learning) v&agrave; học chuyển đổi (Transductive learing) ở phần tr&ecirc;n đ&atilde; n&oacute;i. Trong đ&oacute;, Instance-based learning ch&iacute;nh l&agrave; một thể hiện kh&aacute;c của học chuyển đổi, trong đ&oacute; dữ liệu được đưa v&agrave;o sử dụng bằng c&aacute;ch so s&aacute;nh ch&iacute;nh n&oacute; với c&aacute;c dữ liệu kh&aacute;c trong tập huấn luyện. C&ograve;n học theo m&ocirc; h&igrave;nh (model-based learning) thực chất l&agrave; một t&ecirc;n gọi kh&aacute;c của học quy nạp, khi mục ti&ecirc;u đầu ra cuối c&ugrave;ng của qu&aacute; tr&igrave;nh huấn luyện l&agrave; một m&ocirc; h&igrave;nh (quy luật) chung tổng qu&aacute;t sử dụng để tổng qu&aacute;t h&oacute;a to&agrave;n bộ dữ liệu quan s&aacute;t.</p> <h3 style="text-align: justify;">4. Học kết hợp (Ensemble Learning)</h3> <p style="text-align: justify;">Ensemble learning l&agrave; một hướng tiếp cận trong đ&oacute; sử dụng hai hoặc nhiều m&ocirc; h&igrave;nh kh&aacute;c nhau được huấn luyện tr&ecirc;n c&ugrave;ng một bộ dữ liệu v&agrave; kết hợp c&aacute;c m&ocirc; h&igrave;nh đ&oacute; lại th&agrave;nh một m&ocirc; h&igrave;nh chung sử dụng cho qu&aacute; tr&igrave;nh dự đo&aacute;n. Mục ti&ecirc;u của ensemble learning l&agrave; x&acirc;y dựng một m&ocirc; h&igrave;nh chung c&oacute; hiệu quả (hay độ ch&iacute;nh x&aacute;c) cao hơn so với c&aacute;c m&ocirc; h&igrave;nh ri&ecirc;ng rẽ được sử dụng.</p> <p><img class=" wp-image-8305 aligncenter" src="https://tek4.vn/wp-content/uploads/2021/02/ensemble-learning.png" alt="ensemble learning" width="556" height="301" /></p> <p style="text-align: justify;">C&oacute; hai vấn đề kh&oacute; khăn của Ensemble learning l&agrave; việc lựa chọn c&aacute;ch thức để tạo ra c&aacute;c m&ocirc; h&igrave;nh ri&ecirc;ng lẻ tr&ecirc;n bộ dữ liệu huấn luyện v&agrave; c&aacute;ch kết hợp c&aacute;c m&ocirc; h&igrave;nh n&agrave;y lại để cho ra một m&ocirc; h&igrave;nh dự đo&aacute;n chung. Dựa tr&ecirc;n hai b&agrave;i to&aacute;n n&agrave;y, c&aacute;c m&ocirc; h&igrave;nh ensemble learning thường chia th&agrave;nh hai phần. Thứ nhất l&agrave; x&acirc;y dựng một tập c&aacute;c m&ocirc; h&igrave;nh cơ sở (base learner) từ dữ liệu huấn luyện. Thứ hai đ&oacute; l&agrave; kết hợp c&aacute;c m&ocirc; h&igrave;nh cơ sở n&agrave;y th&agrave;nh m&ocirc; h&igrave;nh chung hiệu quả. Với b&agrave;i to&aacute;n kết hợp c&aacute;c m&ocirc; h&igrave;nh thường c&oacute; nhiều dạng kh&aacute;c nhau như: sử dụng kết quả bầu chọn (voting) của c&aacute;c m&ocirc; h&igrave;nh, hoặc cải thiện hơn l&agrave; sử dụng bầu chọn c&oacute; gắn trọng số (do một số m&ocirc; h&igrave;nh c&oacute; thể tốt hơn c&aacute;c m&ocirc; h&igrave;nh kh&aacute;c sẽ được gắn trọng số cao), xếp chồng (stacking), bootstrap aggregation (bagging)...C&aacute;c m&ocirc; h&igrave;nh như Bagging, boosting, v&agrave; stacking l&agrave; những m&ocirc; h&igrave;nh mới được nghi&ecirc;n cứu những năm gần đ&acirc;y v&agrave; cho hiệu quả cực kỳ tốt trong nhiều b&agrave;i to&aacute;n.</p> <p style="text-align: justify;">Ensemble learning l&agrave; một hướng tiếp cận rất hữu &iacute;ch trong nhiều lĩnh vực v&agrave; c&oacute; thể l&agrave;m giảm mức độ kh&ocirc;ng ổn định của c&aacute;c thuật to&aacute;n học dựa tr&ecirc;n ngẫu nhi&ecirc;n dữ liệu chẳng hạn như c&aacute;c mạng nơ ron nh&acirc;n tạo. Một điều đ&aacute;ng lưu &yacute; l&agrave; hầu hết c&aacute;c m&ocirc; h&igrave;nh hiện đại tốt nhất hiện nay gi&agrave;nh giải trong nhiều cuộc thi cũng như thực tế đều sử dụng c&aacute;c kỹ thuật n&agrave;y. Trong Series n&agrave;y, ch&uacute;ng ta sẽ đi chi tiết hơn về Ensemble learning trong một số b&agrave;i viết sau.</p> <h3 style="text-align: justify;">5. Học chuyển giao (Transfer Learning)</h3> <p style="text-align: justify;">Transfer learning l&agrave; một kiểu kỹ thuật học trong đ&oacute; một m&ocirc; h&igrave;nh được huấn luyện trước tr&ecirc;n một nhiệm vụ $latex T_1$, sau đ&oacute; một phần hoặc to&agrave;n bộ m&ocirc; h&igrave;nh n&agrave;y lại được sử dụng lại như một xuất ph&aacute;t điểm để huấn luyện m&ocirc; h&igrave;nh kh&aacute;c tr&ecirc;n một nhiệm vụ $latex T_2$ kh&aacute;c c&oacute; li&ecirc;n quan. Điều n&agrave;y đặc biệt hữu dụng tr&ecirc;n những b&agrave;i to&aacute;n trong đ&oacute; c&oacute; hai nhiệm vụ tương tự nhau nhưng một nhiệm vụ lại c&oacute; số lượng dữ liệu thu thập được rất lớn v&agrave; một nhiệm vụ lại c&oacute; rất &iacute;t dữ liệu.</p> <p><img class="aligncenter wp-image-8307" src="https://tek4.vn/wp-content/uploads/2021/02/Transfer-Learning.jpg" alt="Transfer Learning - học c&oacute; gi&aacute;m s&aacute;t" width="689" height="435" /></p> <p style="text-align: justify;">M&ocirc; h&igrave;nh n&agrave;y xuất ph&aacute;t từ thực tế, con người c&oacute; khả năng học một b&agrave;i to&aacute;n v&agrave; c&oacute; thể sử dụng kiến thức đ&atilde; học để sử dụng sang b&agrave;i to&aacute;n hoặc thậm ch&iacute; lĩnh vực kh&aacute;c. Đ&acirc;y l&agrave; một hướng tiếp cận cực kỳ hiệu quả hiện nay trong nhiều t&aacute;c vụ về xử l&yacute; h&igrave;nh ảnh v&agrave; xử l&yacute; ng&ocirc;n ngữ tự nhi&ecirc;n với c&aacute;c m&ocirc; h&igrave;nh như VGG19, InceptionNet, ResNet101 hay BERT...Bạn c&oacute; thể huấn luyện một b&agrave;i to&aacute;n nhận dạng số trước v&agrave; sử dụng mạng n&agrave;y để huấn luyện tiếp một m&ocirc; h&igrave;nh c&oacute; khả năng nhận dạng chữ c&aacute;i hiệu quả hơn. Đ&acirc;y l&agrave; &yacute; nghĩa của transfer learning. Nếu ch&uacute;ng ta c&oacute; nhiều dữ liệu hơn rất nhiều ở b&agrave;i to&aacute;n thứ nhất ($latex T_1$), th&igrave; điều n&agrave;y sẽ gi&uacute;p ch&uacute;ng ta học được c&aacute;c biểu diễn thuộc t&iacute;nh ẩn hữu dụng cho việc tổng qu&aacute;t h&oacute;a dữ liệu sang b&agrave;i to&aacute;n thứ hai ($latex T_2$). Từ đ&oacute; ch&uacute;ng ta chỉ cần rất &iacute;t dữ liệu để huấn luyện m&ocirc; h&igrave;nh cho $latex T_2$. Đ&acirc;y l&agrave; cơ sở cho nhiều thuật to&aacute;n dạng One/Few-shot learning. Rất nhiều c&aacute;c lớp dữ liệu ảnh chia sẻ c&ugrave;ng một dạng biểu diễn thuộc t&iacute;nh ở mức thấp chẳng hạn như c&aacute;c điểm, c&aacute;c cạnh, một số đường đặc biệt, hiệu ứng chuyển đổi của c&aacute;c đối tượng h&igrave;nh học, &aacute;nh s&aacute;ng, độ tương phản,...Tương tự như vậy, dữ liệu văn bản cũng chứa c&aacute;c th&agrave;nh tố l&agrave; c&aacute;c từ, c&aacute;c đoạn c&acirc;u đặc trưng c&oacute; &yacute; nghĩa...Đ&acirc;y l&agrave; cơ sở để ch&uacute;ng ta c&oacute; thể &aacute;p dụng transfer learning trong c&aacute;c b&agrave;i to&aacute;n tr&ecirc;n c&aacute;c dạng dữ liệu n&agrave;y.</p> <p style="text-align: justify;">Ch&uacute; &yacute; rằng, transfer learning thường đặc biệt hữu dụng trong c&aacute;c m&ocirc; h&igrave;nh m&agrave; ch&uacute;ng ta c&oacute; thể tiếp tục huấn luyện tiếp tr&ecirc;n dữ liệu mới từ m&ocirc; h&igrave;nh đ&atilde; được huấn luyện trước đ&oacute;, chẳng hạn như c&aacute;c mạng học s&acirc;u (deep learning networks).</p> <p style="text-align: justify;">Ngo&agrave;i c&aacute;c m&ocirc; h&igrave;nh kể tr&ecirc;n, ch&uacute;ng ta c&ograve;n rất nhiều m&ocirc; h&igrave;nh học kh&aacute;c như: học đa t&aacute;c vụ (multi-task learning), học c&aacute;ch học (meta-learning)... Tuy nhi&ecirc;n c&aacute;c m&ocirc; h&igrave;nh n&agrave;y kh&aacute; phức tạp v&agrave; kh&ocirc;ng thuộc phạm vi của <a href="https://tek4.vn/machine-learning-co-ban/">Series Machine learning cơ bản</a> n&agrave;y, do đ&oacute; ch&uacute;ng ta sẽ tạm bỏ qua n&oacute; ở đ&acirc;y. C&aacute;c m&ocirc; h&igrave;nh n&agrave;y sẽ được giới thiệu trong c&aacute;c Series kh&aacute;c chuy&ecirc;n s&acirc;u hơn.</p> <p>&nbsp;</p> <hr /> <p style="text-align: center;"><em><strong>Fanpage Facebook:</strong>&nbsp;<a href="https://www.facebook.com/tek4.vn/">TEK4.VN</a></em>&nbsp;</p> <p style="text-align: center;"><em><strong>Tham gia cộng đồng để chia sẻ, trao đổi v&agrave; thảo luận:</strong>&nbsp;<a href="https://www.facebook.com/groups/tek4.vn/">TEK4.VN - Học Lập Tr&igrave;nh Miễn Ph&iacute;</a></em></p>