CHƯƠNG 1: TÌM HIỂU BÀI TOÁN Lớp đầu ra cho kết quả cuối cùng sau khi mạng nơ-ron xử lý dữ liệu. Lớp này có thể có một hoặc nhiều nút nhằm cho ra kết quả của một hoặc nhiều thuộc tính sau khi xử lý. Lợi thế lớn nhất của các mạng ANN là khả năng được sử dụng như một cơ chế xấp xỉ hàm tùy ý mà “học” được từ các dữ liệu quan sát. Tuy nhiên, sử dụng chúng không đơn giản như vậy cần hiểu biết một số các đặc tính và kinh nghiệm khi thiết kế một mạng nơ-ron ANN: Chọn mô hình: Điều này phụ thuộc vào cách trình bày dữ liệu và các ứng dụng.
Mô hình quá phức tạp có xu hướng dẫn đền những thách thức trong quá trình học. Cấu trúc và sự liên kết giữa các nơ-ron Thuật toán học: Có hai vấn đề cần học đối với mỗi mạng ANN, đó là học tham số của mô hình (parameter learning) và học cấu trúc (structure learning). Học tham số là thay đổi trọng số của các liên kết giữa các nơron trong một mạng, còn học cấu trúc là việc điều chỉnh cấu trúc mạng bằng việc thay đổi số lớp ẩn, số nơ-ron mỗi lớp và cách liên kết giữa chúng. Hai vấn đề này có thể được thực hiện đồng thời hoặc tách biệt.
Nếu các mô hình, hàm chi phí và thuật toán học được lựa chọn một cách thích hợp, thì mạng ANN sẽ cho kết quả có thể vô cùng mạnh mẽ và hiệu quả.2 Hoạt động của mạng nơ-ron nhân tạo Hình 1.4 : Sơ đồ hoạt động mạng nơ ron nhân tạo Đầu vào: Mỗi thông tin đầu vào tương ứng với 1 đặc trưng của dữ liệu. Ví dụ như trong ứng dụng của ngân hàng xem xét có chấp nhận cho khách hàng vay tiền hay không thì mỗi thông tin đầu vào là một thuộc tính của khách hàng như thu nhập, nghề nghiệp, tuổi, số con,… Đầu ra: Kết quả của một mạng ANN là một giải pháp cho một vấn đề, ví dụ như với bài toán xem xét chấp nhận cho khách hàng vay tiền hay không thì đầu ra là có hoặc không. Trọng số liên kết : Đây là thành phần rất quan trọng của một ANN, nó thể hiện mức độ quan trọng, độ mạnh của dữ liệu đầu vào đối với quá trình xử lý 6 Nguyễn Văn Nghĩa – B19DCCN469 Đồ án tốt nghiệp đại học CHƯƠNG 1: TÌM HIỂU BÀI TOÁN thông tin chuyển đổi dữ liệu từ lớp này sang lớp khác. Quá trình học của ANN thực ra là quá trình điều chỉnh các trọng số liên kết của các dữ liệu đầu vào để có được kết quả mong muốn.
Hàm tổng: Hàm tổng dùng để tính tổng trọng số của tất cả các giá trị đầu vào được đưa vào mỗi nơ-ron. Hàm tổng của một nơ-ron đối với nhiều giá trị đầu vào tính theo công thức sau: Trong đó : Xi là giá trị của đầu vào thứ i Wi là giá trị trọng số thứ i Hàm truyền: Hàm truyền của một nơ-ron cho biết khả năng kích hoạt của nơ-ron đó còn gọi là kích hoạt bên trong. Các nơ-ron này có thể sinh ra một output hoặc không trong mạng ANN, nói cách khác rằng có thể đầu ra của 1 nơ- ron có thể được chuyển đến layer tiếp trong mạng nơ-ron theo hoặc không. Mối quan hệ giữa hàm tổng và kết quả output được thể hiện bằng hàm truyền.
Việc lựa chọn hàm truyền có tác động lớn đến kết quả đầu ra của mạng ANN. Hàm truyền phi tuyến được sử dụng phổ biến trong mạng ANN là hoặc sigmoid hoặc tanh. Trong đó, hàm tanh là phiên bản thay đổi tỉ lệ của sigmoid , tức là khoảng giá trị đầu ra của hàm truyền thuộc khoảng [-1, 1] thay vì [0,1] nên chúng còn gọi là hàm chuẩn hóa. Kết quả xử lý tại các nơ-ron đôi khi rất lớn, vì vậy hàm truyền được sử dụng để xử lý output này trước khi chuyển đến layer tiếp theo.
Đôi khi thay vì sử dụng hàm truyền thì sẽ sử dụng giá trị ngưỡng để kiểm soát các đầu ra của các nơ-ron tại một lớp nào đó trước khi chuyển các đầu ra này đến các lớp tiếp theo. Nếu đầu ra của một nơ-ron nào đó nhỏ hơn ngưỡng thì nó sẽ không được chuyển đến lớp tiếp theo. Mạng nơ-ron dự đoán dựa trên lan truyền thẳng là các phép nhân ma trận cùng với hàm kích hoạt để thu được kết quả đầu ra. Nếu đầu vào x là vector 2 chiều thì có thể tính kết quả dự đoán 𝑦̂ bằng công thức sau: 7 Nguyễn Văn Nghĩa – B19DCCN469 Đồ án tốt nghiệp đại học CHƯƠNG 1: TÌM HIỂU BÀI TOÁN Trong đó, 𝑧𝑖 là đầu vào của lớp thứ 𝑖, 𝑎𝑖 là đầu ra của lớp thứ 𝑖 sau khi áp dụng hàm kích hoạt.
𝑊1, 𝑏1, 𝑊2, 𝑏2 là các thông số cần tìm của mô hình mạng nơ-ron. Huấn luyện để tìm các thông số cho mô hình tương đương với việc tìm các thông số 𝑊1, 𝑏1, 𝑊2, 𝑏2, sao cho độ lỗi của mô hình đạt được là thấp nhất. Đối với hàm trung bình mũ thì dùng hàm cross-entropy. Nếu có N dòng dữ liệu huấn luyện, và C nhóm phân lớp (trường hợp này là hai lớp nam, nữ), khi đó hàm mất mát giữa giá trị dự đoán 𝑦̂ và 𝑦 được tính như sau: Ý nghĩa công thức trên nghĩa là: lấy tổng trên toàn bộ tập huấn luyện và cộng dồn vào hàm mất mát nếu kết quả phân lớp sai.
Độ dị biệt giữa hai giá trị 𝑦̂ và 𝑦 càng lớn thì độ lỗi càng cao. Mục tiêu là tối thiểu hóa hàm lỗi này. Có thể sử dụng phương pháp suy giảm độ dốc để tối tiểu hóa hàm lỗi. Có hai loại thuật toán suy giảm độ dốc, một loại với fixed learning rate được gọi là suy giảm độ dốc hàng loạt, loại còn lại có learning rate thay đổi theo quá trình huấn luyện được gọi là SGD (stochastic gradient descent) hay mini-batch gradient descent.8 Mạng nơ-ron hồi quy Recurrent Neural Network (RNN) và ứng dụng 1.1 Mạng nơ-ron hồi quy Recurrent Neural Network (RNN) Ý tưởng chính của RNN (Recurrent Neural Network) là sử dụng chuỗi các thông tin.
Trong các mạng nơ-ron truyền thống tất cả các đầu vào và cả đầu ra là độc lập với nhau, ckhông liên kết thành chuỗi với nhau. Nhưng các mô hình này không phù hợp trong rất nhiều bài toán. Ví dụ, nếu muốn đoán từ tiếp theo có thể xuất hiện trong một câu thì sẽ cần biết các từ trước đó xuất hiện lần lượt thế nào RNN được gọi là hồi quy bởi lẽ chúng thực hiện cùng một tác vụ cho tất cả các phần tử của một chuỗi với đầu ra phụ thuộc vào cả các phép tính trước đó, RNN có khả năng nhớ các thông tin được tính toán trước đó [1]. Trên lý thuyết, RNN có thể sử dụng được thông tin của một văn bản rất dài, tuy nhiên thực tế thì nó chỉ có thể nhớ được một vài bước trước đó mà thôi.
Về cơ bản một mạng RNN có dạng như sau: 8 Nguyễn Văn Nghĩa – B19DCCN469 Đồ án tốt nghiệp đại học CHƯƠNG 1: TÌM HIỂU BÀI TOÁN Hình 1.5: Mạng RNN[6] Mô hình trên mô tả phép triển khai nội dung của một RNN. Triển khai ở đây có thể hiểu đơn giản là vẽ ra một mạng nơ-ron chuỗi tuần tự. Ví dụ có một câu gồm 5 chữ “Đồ án tốt nghiệp PTIT”, thì mạng nơ-ron được triển khai sẽ gồm 5 tầng nơ-ron tương ứng với mỗi chữ một tầng. Lúc đó việc tính toán bên trong RNN được thực hiện như sau: là đầu vào tạ i bước t.
Ví dụ, là một vec-tơ one-hot tương ứng với từ thứ 2 của câu (án). là trạng thái ẩn tại bước t. Nó chính là bộ nhớ của mạng. được tính toán dựa trên cả các trạng thái ẩn phía trước và đầu vào tại bước đó: Hàm f thường là một hàm phi tuyến tính như tang hyperbolic (tanh) hay ReLu.
Để làm phép toán cho phần tử ẩn đầu tiên cần khởi tạo thêm , thường giá trị khởi tạo được gắn bằng 0. là đầu ra tại bước t. Ví dụ, muốn dự đoán từ tiếp theo có thể xuất hiện trong câu thì chính là một vec-tơ xác suất các từ trong danh sách từ vựng : 1.2 Các ứng dụng của Recurrent Neural Network (RNN) Mô hình hoá ngôn ngữ sinh văn bản Mô hình ngôn ngữ có thể hỗ trợ trong việc dự đoán tỉ lệ xuất hiện của một từ cụ thể sau chuỗi các từ đã xuất hiện trước đó. Với khả năng ước lượng độ tương tự giữa các câu, mô hình này còn được ứng dụng rất nhiều trong dịch máy.
Khả năng dự đoán từ tiếp theo là khả năng giúp cho mô hình có thể tự sinh từ, cho phép máy tính tự động tạo ra văn bản mới từ tập mẫu và xác suất đầu ra của mỗi từ. Tùy thuộc vào mô hình ngôn ngữ mà có thể tạo ra nhiều văn bản khác nhau. Trong cấu trúc mô hình ngôn ngữ, đầu vào thường là một chuỗi các từ (được biểu diễn bằng vectơ one-hot), trong khi đầu ra là chuỗi các từ được dự đoán. Trong quá trình huấn luyện mạng, 9 Nguyễn Văn Nghĩa – B19DCCN469 Đồ án tốt nghiệp đại học CHƯƠNG 1: TÌM HIỂU BÀI TOÁN thường sử dụng với mục tiêu là đầu ra tại bước thời gian t là từ tiếp theo của câu.
Từ bài toán này có thể mở rộng thành bài toán phát sinh văn bản (generating text/generative model). Mô hình này cho phép phát sinh ra văn bản mới dựa vào tập dữ liệu huấn luyện. Ví dụ, khi huấn luyện mô hình này bằng các văn bản truyện Kiều thì có thể phát sinh được các đoạn văn tựa truyện Kiều. Tuỳ theo loại dữ liệu huấn luyện sẽ có nhiều loại ứng dụng khác nhau.
Còn đầu ra sẽ là một chuỗi các từ trong ngôn ngữ đích (ngôn ngữ dịch - ví dụ là tiếng Anh). Điểm khác nhau ở đây là đầu ra chỉ xử lý sau khi đã xem xét toàn bộ chuỗi đầu vào. Vì từ dịch đầu tiên của câu dịch cần phải có đầy đủ thông tin từ đầu vào cần dịch mới có thể suy luận được.6: Ứng dụng RNN trong Dịch máy[9] Nhận dạng giọng nói Đưa vào một chuỗi các tín hiệu âm thanh có thể dự đoán được chuỗi các đoạn ngữ âm đi kèm với xác suất của chúng. Mô tả hình ảnh RNN kết hợp với Convolution Neural Networks có thể phát sinh ra được các đoạn mô tả cho ảnh.
Mô hình này hoạt động bằng cách tạo ra những câu mô tả từ các đặc trưng rút trích được trong bức ảnh. 10 Nguyễn Văn Nghĩa – B19DCCN469 Đồ án tốt nghiệp đại học CHƯƠNG 1: TÌM HIỂU BÀI TOÁN Hình 1.7: Ứng dụng RNN trong mô tả hình ảnh[10] 1.