CHƯƠNG 1. TỔNG QUAN HỌC SÂU TRONG MẠNG NƠ-RON
1.2.3. Mạng nơ-ron nhân tạo
Nơ-ron nhân tạo (Hình 1.9) là sự rút gọn hết sức đơn giản của nơ-ron sinh học.
Nó có thể thực hiện nhờ chương trình máy tính hoặc bằng mạch phần cứng. Mỗi nơ- ron thực hiện hai chức năng là chức năng đầu vào và chức năng kích hoạt đầu ra. Do đó ta có thể coi mỗi nơ-ron như là một đơn vị xử lý. Nó được xây dựng mô phỏng theo cấu trúc của các nơ-ron sinh học. Mỗi nơ-ron có một số đầu vào giống như các dây thần kinh tiếp nhận. Các đầu vào này làm nhiệm vụ tiếp nhận thông tin từ các nơ- ron khác hoặc từ tập số liệu gốc vào. Tương tự như nơ-ron sinh học, mỗi đầu vào của nơ-ron nhân tạo có ảnh hưởng khác nhau đối với tín hiệu ra của nơ-ron (còn gọi là kết xuất của nơ-ron). Điều này được thực hiện nhờ các hệ số được gán cho từng đầu vào-wi: trọng số của đầu vào thứ i. Giá trị của wi có thể dương hay âm tương tự như việc có hai loại khớp nối trong mạng nơ-ron sinh học. Nếu wicó giá trị dương thì tương đương với khớp nối kích thích còn nếu wi âm thì tương đương với khớp nối ức chế. Thân nơ-ron sẽ làm nhiệm vụ tổng hợp các tín hiệu đầu vào xử lý để đưa một tín hiệu ra đầu ra của nơ-ron. Quá trình xử lý, tính toán này sẽ được đề cập cụ thể ở phần sau. Đầu ra của nơ-ron nhân tạo tương tự như sợi trục axon của nơ-ron sinh học. Tín hiệu ra cũng có thể tách ra thành nhiều nhánh theo cấu trúc hình cây để đưa đến đầu vào của các nơ-ron khác.
1.2.3.2. Mạng nơ-ron nhân tạo
Các nơ-ron nhân tạo được tổ chức thành mạng nơ-ron nhân tạo. Các nơ-ron thường được sắp xếp trong mạng thành từng lớp. Đầu ra của mỗi nơ-ron sẽ được nối đến đầu vào của một số nơ-ron khác theo một cấu trúc phù hợp. Tuy nhiên cấu trúc mạng nơ-ron nhân tạo chưa thể đạt được độ phức tạp như mạng nơ-ron sinh học.
Mạng nơ-ron nhân tạo hiện chỉ mới là sự mô phỏng hết sức đơn giản cấu trúc của mạng nơ-ron sinh học.
Giữa mạng nơ-ron nhân tạo và mạng nơ-ron sinh học có 3 điểm chung là:
- Mạng được xây dựng bằng các phần tử tính toán đơn giản liên kết lại với nhau một cách phức tạp và hoạt động theo nguyên tắc song song.
- Chức năng của mạng được xác định qua cấu trúc mạng, quá trình xử lý bên trong các phần tử và mức độ liên kết giữa các phần tử.
- Mức độ liên kết giữa các phần tử được xác định thông qua quá trình học của mạng (hay còn gọi là quá trình huấn luyện mạng).
Điểm khác nhau về căn bản giữa Mạng nơ-ron nhân tạo và mạng nơ-ron sinh học là ở tốc độ tính toán, độ phức tạp và tính song song. Tuy xét về tốc độ xử lý của
Bias
x1
x2
…
xn
Output w1
w2
wn
w0
Hình 1.9. Mô hình nơ-ron nhân tạo.
các máy tính hiện đại là cao hơn rất nhiều so với tốc độ xử lý của não bộ con người nhưng bộ não lại có thể đồng thời kích hoạt toàn bộ các nơ-ron để làm nhiều công việc khác nhau. Điều này mạng nơ-ron nhân tạo không thể thực hiện được. Với sự phát triển nhanh chóng của khoa học như hiện nay thì ta có thể hi vọng sẽ có những bước đột phá mới trong lĩnh vực mô phỏng mạng nơ-ron sinh học.
1.2.3.3. Mô hình toán học của một nơ-ron nhân tạo
Dựa trên những kiến thức cơ bản về nơ-ron nhân tạo như đã trình bày ở phần trên, ta có thể xây dựng một mô hình toán học của nơ-ron nhân tạo như Hình 1.10.
Các tín hiệu vào ( còn gọi là mẫu vào) pi(i=1..R) được đưa tới đầu vào của nơ-ron S tạo thành ma trận tín hiệu vào P. Mỗi đầu vào của nơ-ron S sẽ có một trọng số kí hiệu là ws,i (i=1..R) và các trọng số này tạo thành một ma trận trọng số đầu vào W của nơ- ron. Mức ngưỡng của nơ-ron có thể được biễu diễn trong mô hình toán học bằng hệ số bias b (gọi là thế hiệu dịch). Ta có b=-. Hàm thế sau khớp nối (Post Synaptic Potential function - PSP) là tổng của các tín hiệu vào có trọng số và hệ số bias. Như vậy tín hiệu vào là nnet sẽ được tính theo công thức sau:
𝑛𝑛𝑒𝑡 = 𝑤𝑠,1𝑝1+ 𝑤𝑠,2𝑝2+ ⋯ + 𝑤𝑠,𝑅𝑝𝑅 + 𝑏 (1.1) Viết dưới dạng ma trận sẽ là:
𝑛𝑛𝑒𝑡 = 𝑊𝑃 + 𝑏 (1.2)
Xem các biểu thức trên thì ta có thể coi hệ số bias như trọng số của một đầu vào với tín hiệu bằng 1. Có một số loại nơ-ron có thể bỏ qua hệ số bias này.
Hình 1.10. Mô hình toán học mạng nơ-ron nhân tạo.
Hàm hoạt hoá (hay còn gọi là hàm truyền đạt) được kí hiệu là f sẽ biến đổi tín hiệu đầu vào net thành tín hiệu đầu ra nơ-ron a. Ta có biểu thức:
𝑎 = 𝑓(𝑛𝑛𝑒𝑡) = 𝑓(𝑊𝑃 + 𝑏) (1.3) Thông thường thì hàm đầu ra sẽ được chọn bởi người thiết kế tuỳ theo mục đích của mạng. Các trọng số và hệ số bias là các thông số điều chỉnh được của mạng nơ-ron. Chúng được điều chỉnh bởi một số luật học. Như vậy quan hệ giữa đầu ra và các đầu vào của nơ-ron sẽ tuỳ thuộc vào việc nơ-ron đó được dùng cho các mục đích cụ thể nào.
1.2.3.4. Cấu trúc mạng nơ-ron nhân tạo
Mạng nơ-ron (Hình 1.11) thường được cấu tạo thành các lớp gồm lớp vào, lớp ra và các lớp ẩn. Các nơ-ron trong một lớp chỉ nối với các nơ-ron lớp tiếp theo, không cho phép có các liên kết giữa các nơ-ron trong cùng một lớp. Lớp vào là lớp nhận thông tin từ số liệu gốc. Thông tin này được đưa đến đầu vào của một số hay toàn bộ các nơ-ron của lớp tiếp theo (lớp ẩn). Như vậy mỗi nút của lớp ẩn sẽ nhận được tín
Hình 1.11. Mô hình mạng nơ-ron nhân tạo.
hiệu của một số các nút lớp vào. Các giá trị này sẽ được nhân với hệ số nhân (trọng số) của các nút ẩn và đưa vào hàm thế sau khớp nối thực hiện chức năng đầu vào để tạo tín hiệu duy nhất net. Chức năng kích hoạt đầu ra được hực hiện bằng hàm hoạt hoá. Hàm này sẽ nhận tín hiệu đầu vào net để tạo ra tín hiệu đầu ra của nơ-ron (kết xuất của nơ-ron lớp ẩn). Tín hiệu ra của các nút ẩn lại được đưa đến các nút của lớp tiếp theo. Quá trình xử lý tương tự cho đến khi tín hiệu được đưa ra tại các nút lớp ra.
Đây chính là tín hiệu đầu ra của mạng. Nó chính là giá trị của các biến cần tìm.
Mạng nơron có thể tổ chức theo kiểu liên kết đầy đủ tức là đầu ra của các nơron lớp trước sẽ có liên kết với tất cả các nơron ở lớp tiếp theo hoặc ngược lại theo kiểu không đầy đủ-mỗi đầu ra chỉ liên kết với một số nơron của lớp tiếp theo tuỳ theo chức năng của mạng.
1.2.3.5. Hàm kích hoạt (Activation function)
Hàm kích hoạt là một hàm được sử dụng để ánh xạ đầu vào của một nơ-ron thành đầu ra của nó. Trong mạng neural, mỗi nơ-ron sẽ nhận đầu vào từ các nơ-ron khác và sau đó xử lý dữ liệu đầu vào đó trước khi truyền tiếp đến các nơ-ron khác.
Hàm kích hoạt được sử dụng để thực hiện việc này bằng cách đưa ra quyết định liệu nơ-ron đó có được kích hoạt hay không.
Hình 1.12. Hàm kích hoạt ReLU.
Hiện nay, có nhiều loại hàm kích hoạt được sử dụng trong mạng neural. Dưới đây là các loại hàm kích hoạt phổ biến:
- Hàm sigmoid: Hàm sigmoid được sử dụng trong các mô hình cổ điển của mạng nơ-ron. Đầu ra của hàm sigmoid là một số nằm trong khoảng từ 0 đến 1. Hàm này thường được sử dụng để phân loại nhị phân.
- Hàm ReLU (Rectified Linear Unit): Hàm ReLU là một trong những hàm kích hoạt phổ biến nhất hiện nay. Hàm này được định nghĩa bởi f(x) = max(0, x). Nó cho phép đầu ra của một nơ-ron là giá trị dương hoặc bằng 0, giúp tăng tốc độ tính toán và giảm thiểu hiện tượng gradient vanishing.
- Hàm tanh: Hàm tanh là một biến thể của hàm sigmoid, cho phép đầu ra của một nơ-ron là một số nằm trong khoảng từ -1 đến 1. Hàm này thường được sử dụng trong các mô hình phân loại.
- Hàm Softmax: Hàm Softmax là một hàm kích hoạt phổ biến trong mạng nơ- ron sâu. Hàm này được sử dụng để tính xác suất của các lớp phân loại. Đầu ra của hàm Softmax là một vector các xác suất, tổng các giá trị trong vector này bằng 1.
- Hàm Leaky ReLU: Hàm Leaky ReLU là một biến thể của hàm ReLU, được thiết kế để giảm thiểu hiện tượng dead ReLU. Hàm này định nghĩa bởi f(x) = max(ax, x), trong đó a là một hằng số dương nhỏ.
- Hàm ELU (Exponential Linear Unit): Hàm ELU là một hàm kích hoạt mới, tương tự như hàm ReLU, nhưng cho phép đầu ra âm. Hàm này được thiết kế để giảm thiểu hiện tượng dead ReLU và cải thiện độ chính xác của mô hình.
- Hàm Swish: Hàm Swish được coi là một sự kết hợp giữa hàm kích hoạt sigmoid và hàm kích hoạt ReLU, và được đề xuất nhằm cải thiện độ chính xác và tốc độ huấn luyện của mạng nơ-ron sâu.