Chương 1: Tổng quan về học máy Chương 2: Mô hình Generative adversarial networks (GAN) Chương 3: Ứng dụng trong bài toán chuyển đổi ảnh 5 CHƢƠNG 1: TỔNG QUAN VỀ HỌC MÁY Trong chương này, chúng tôi trình bày một số kiến thức tổng quan về học máy, các khái niệm liên quan đến ứng dụng mô hình học máy làm cơ sở nghiên cứu các nội dung chính về mô hình GAN.1 Khái niệm Khái niệm học có nghĩa rộng giống như sự thông minh, bao gồm cả quá trình và khó có một định nghĩa chính xác. Theo nghĩa từ điển, học là quá trình thu nhận kiến thức, kỹ năng do người khác truyền lại hoặc đọc đi, đọc lại, nghiền ngẫm ghi nhớ (học thuộc lòng). Rộng hơn, học bao gồm cả quá trình đúc rút tri thức từ các quan sát, trải nghiệm thực tiễn. Về phương diện công nghệ, học máy là một lĩnh vực của trí tuệ nhân tạo, trong đó nghiên cứu các kỹ thuật xây dựng và phát triển các chương trình máy tính có thể thích nghi và "học" từ các dữ liệu mẫu hoặc kinh nghiệm.
Đến nay, đã có nhiều định nghĩa cho khái niệm này, tuy nhiên khó có một định nghĩa thỏa đáng được mọi người thừa nhận. Định nghĩa sau phát triển từ định nghĩa của T. Mitchell cho ta cách nhìn toán học của một chương trình học khi nghiên cứu, thiết kế. Một chương trình máy tính được gọi là học từ dữ liệu/kinh nghiệm E đối với lớp nhiệm vụ T và độ đo mức thực hiện P nếu việc thực hiện các nhiệm vụ T của nó khi đo bằng P được cải tiến nhờ dữ liệu hoặc kinh nghiệm E.
6 Theo định nghĩa này, người ta cần tối ưu hóa độ đo thực hiện P dựa trên phân tích dữ liệu/ kinh nghiệm E để tìm cách thực hiện nhiệm vụ T tốt nhất.2 Ứng dụng của học máy Machine learning được ứng dụng trong các lĩnh vực sau đây: Xử lý hình ảnh: Bài toán xử lý ảnh sẽ giải quyết một số vấn đề phân tích thông tin từ hình ảnh hay thực hiện một số phép biến đổi. Một số ví dụ cơ bản cho lĩnh vực này như ứng dụng ô tô tự lái, gắn thẻ hình ảnh, nhận dạng ký tự,… Khai phá dữ liệu: Khai phá dữ liệu là quá trình khám phá ra các thông tin có giá trị hoặc đưa ra các dự đoán từ dữ liệu. Học máy được ứng dụng trong khai phá dữ liệu bao gồm: gom cụm, dự đoán, phát hiện các bất thường, phát hiện ra các quy luật để ứng dụng vào hoạt động ngân hàng hay hoạt động của các hệ thống siêu thị,. Phân tích văn bản: là công việc trích xuất hoặc phân loại thông tin từ các văn bản.
Các văn bản ở đây có thể là một email, đoạn chat trên facebook hay là các tài liệu. Chăm sóc sức khỏe: Machine learning là một xu hướng phát triển nhanh chóng trong ngành chăm sóc sức khỏe, nhờ vào sự ra đời của các thiết bị và máy cảm ứng đeo được sử dụng dữ liệu để đánh giá tình hình sức khỏe của bệnh nhân trong thời gian thực (real-time). Machine Learning còn giúp các chuyên gia y tế xác định những xu hướng hoặc tín hiệu để cải thiện khả năng điều trị, chẩn đoán bệnh. Marketing và bán hàng: Dựa trên hành vi mua hàng trước đây, các trang web sử dụng Machine Learning phân tích lịch sử mua hàng, từ đó giới thiệu những vật dụng mà bạn có thể sẽ quan tâm và yêu thích.
Khả năng tiếp nhận dữ 7 liệu, phân tích và sử dụng những dữ liệu đó để cá nhân hóa trải nghiệm mua sắm (hoặc thực hiện chiến dịch Marketing) chính là tương lai của ngành bán lẻ. Phân loại các phương pháp học máy Có nhiều loại phương pháp học máy khác nhau như: học có giám sát, học không giám sát, học bán giám sát và học tăng cường. Học có giám sát (Supervised Learning): Học có giám sát là một kĩ thuật học máy để học tập từ tập dữ liệu được gán nhãn cho trước. Tập dữ liệu cho trước sẽ chứa nhiều bộ dữ liệu.
Mỗi bộ dữ liệu có cấu trúc theo cặp {x, y} với x được xem là dữ liệu và y là nhãn của dữ liệu đó. Nhiệm vụ của học máy có giám sát là dự đoán đầu ra mong muốn dựa vào giá trị đầu vào. Tập dữ liệu huấn luyện được gán nhãn trước. Học có giám sát được áp dụng cho 2 nhóm bài toán chính là bài toán hồi quy (regression problem) và bài toán phân lớp (classification problem).
Học có giám sát là xây dựng một hàm xác định giá trị đầu ra tương ứng với đầu vào là tập dữ liệu hoặc dữ liệu mới. Ta gọi hàm này là hàm h(x) và mong muốn hàm này xuất ra đúng giá trị y với một hoặc nhiều tập dữ liệu mới khác với dữ liệu được học. Hàm h(x) có các tham số học khác nhau tùy thuộc vào bài toán. Việc học từ tập dữ liệu (training) cũng chính là tìm ra bộ tham số học cho hàm h(x).
Học không có giám sát (Unsupervised learning): Học không giám sát là một kĩ thuật của máy học nhằm tìm ra một mô hình hay cấu trúc bị ẩn bởi tập dữ liệu không được gán nhãn cho trước. Học không giám sát khác với học giám sát là không thể xác định trước đầu ra từ tập dữ liệu huấn luyện được. Tùy thuộc vào tập huấn luyện kết quả đầu ra sẽ khác nhau. Học bán giám sát (Semi-supervised Learning): Đây là sự kết hợp của hai phương pháp học có giám sát và không giám sát, trong đó sử dụng cả dữ 8 liệu có sẵn nhãn và dữ liệu không nhãn.
Nó hoạt động chủ yếu giống như việc học tập không giám sát với những cải tiến mà một phần dữ liệu được dán nhãn có thể mang lại. Học tăng cường (Reinforcement Learning): Trong kiểu học này, các thuật toán dự đoán đầu ra cho một vấn đề dựa trên một tập các tham số điều chỉnh. Sau đó, đầu ra được tính toán trở thành một tham số đầu vào và đầu ra mới được tính cho đến khi thấy đầu ra tối ưu. Học tăng cường chủ yếu được sử dụng trong phát triển các ứng dụng giải trí AI, thu nhận kỹ năng, điều hướng rô-bốt và quyết định thời gian thực.4 Các bước trong bài toán học máy Một bài toán học máy cần trải qua 4 bước chính: Bước 1: Thiết lập mô hình (Model) Khi đi xây dựng mô hình cho học máy tức là đi mô phỏng các mẫu hình từ thực tế giúp đưa ra được dự báo hoặc nhận dạng.
Hay nói chính xác hơn là ta phải đi mô tả các biến dữ liệu có khả năng tác động lên kết quả hoạt động của mô hình, đồng thời phải tìm ra được mối quan hệ giữa biến tác động (biến độc lập) và biến kết quả (biến phụ thuộc). Ngoài ra, ta có thể xây dựng một giả định ban đầu nào đó. Bước 2: Cung cấp dữ liệu đầu vào thực tế Sau khi mô hình được thiết lập, các thông tin thực tế sẽ được đưa vào để cho quá trình “ tự học” của học máy thực hiện. Kết thúc của quá trình này là đưa ra kết quả thực hiện thực tế.
Bước 3: Quá trình huấn luyện mô hình Khi lựa chọn mô hình và có các tham số, ta có thể dựa vào chúng để suy luận cho một đầu vào mới nào đó. 9 Trong học máy, luôn cần có dữ liệu để huấn luyện, nó được xem là điều kiện tiên quyết của quá trình học máy. Vì thế dữ liệu sau khi có được cần phải chuẩn hóa và phân chia dữ liệu. Việc chuẩn hóa các dữ liệu đầu vào nhằm thay đổi tốc độ và hiệu quả của huấn luyện, phân chia dữ liệu là để kiểm chứng mô hình vì việc mô hình được chọn rất khớp với tập dữ liệu đang có không có nghĩa là giả thuyết của ta là đúng mà có thể xảy ra tình huống dữ liệu thật lại không khớp.
Thông thường tập dữ liệu được chia thành 3 phần như sau: Tập huấn luyện (Training set): Chiếm 60% dùng để học khi huấn luyện. Tập kiểm chứng (Cross validation set): Chiếm 20%, dùng để kiểm chứng mô hình khi huấn luyện. Tập kiểm tra (Test set): Chiếm 20%, dùng để kiểm tra xem mô hình đã phù hợp hay chưa sau khi huấn luyện. Bước 4: Đánh giá và sử dụng mô hình Một khi việc huấn luyện hoàn tất, để xem mô hình có hoạt động tốt hay không bằng cách dùng bước đánh giá.
Đây là bước dùng đến bộ dữ liệu mới hoặc dữ liệu thay thế. Việc đánh giá cho phép chúng ta kiểm tra mô hình với những dữ liệu chưa từng được dùng cho huấn luyện. Sau khi hoàn thành phần đánh giá, để cải thiện việc huấn luyện mô hình có thể thực hiện điều này bằng cách điều chỉnh thông số. Có một vài thông số được chúng ta ngầm giả định khi tiến hành huấn luyện và giờ là lúc để quay lại, kiểm tra những giả định đó và thử những giá trị khác để kiểm chứng mô hình.
Sau khi đã hoàn thành với những bước trên, cuối cùng có thể sử dụng mô hình để giải quyết hoàn toàn bài toán đặt ra. Nội dung tiếp theo, chúng tôi tập trung mô tả mạng Neural – mô hình học lấy ý tưởng từ hệ thống kết nối các tế bào thần kinh trong bộ não người. 1 Chúng tôi nhận thấy rằng mạng Neural là thành phần cơ bản có liên quan mật thiết tới học sâu và là cơ sở cho mô hình học sâu.1 Mô hình nơron nhân tạo Trước tiên chúng ta quan tâm đến đơn vị cơ sở trong mạng là các nơron nhân tạo (gọi tắt là nơron hay nút). Mỗi nơron là một đơn vị xử lý cơ sở mà các thành phần liên quan bao gồm: Tập các tín hiệu vào x j tương ứng với các trọng w j , j 1,.
số n Bộ tích hợp các tín hiệu vào Net w x w, x j j 1 j Hàm kích hoạt f để biến đổi giá trị thu được từ bộ tích hợp. Tín hiệu ra o f (Net) 1 x Hàm kích hoạt đơn giản nhất f (x) if x là 0 if ở đây gọi là ngưỡng, giá trị “kích thích” đủ lớn để xảy ra hoạt động tại nơron Net f Một hàm kích hoạt khác thường dùng nữa là sigmoid (x) 1 hàm 1 e . Một mạng chỉ gồm các đầu vào và một số nơron đầu ra được gọi là một mạng nơron đơn (perceptron). Mạng nơron đơn có khả năng tính toán yếu, 1 chẳng hạn không mô hình được hàm XOR.
Vì vậy, cần phải sử dụng mạng nơron nhiều lớp (multi-layer neural network).