NEURAL NETWORK LÀ GÌ

  -  

Bài 13: Thuật Toán Neural Network

Trong bài này bọn họ sẽ mày mò thuật toán Neural Network - trong những thuật toán Machine Learning trẻ trung và tràn trề sức khỏe nhất.

Bạn đang xem: Neural network là gì

Neural Network là căn cơ của Deep Learning - một nghành nghề dịch vụ hẹp của Machine Learning.

Neural Network không mới. Dẫu vậy sự phân phát triển của dòng sản phẩm tính năng lượng điện tử cùng với tốc độ đo lường nhanh đã can dự ứng dụng Neural Network.

Mở đầu

Tôi đã có lần học 4 năm tại trường Đại học y Hà Nội. Tôi dìm thấy giữa những chủ đề trở ngại nhất đến sinh viên là về thần kinh. Bộ não của con fan là bộ máy hoàn hảo duy nhất mà thoải mái và tự nhiên đã hình thành và nó quá phức hợp để có thể hiểu hết.


*

Các tế bào thần tởm được call là neuron có công dụng dẫn truyền xung hễ thần kinh. Từng neuron nhấn xung cồn thần tởm vào từ bỏ neuron đứng trước nó, truyền dọc từ axon với truyền ra neuron thua cuộc nó thông qua synapse.

Xung đụng thần gớm truyền từ bỏ neuron này thanh lịch neuron khác trong mạng neuron tạo cho mọi chức năng thần khiếp của não bộ.

Một ý tưởng lôi kéo là nếu có thể mô phỏng bí quyết bộ não học tập tập, họ sẽ tất cả một thuật toán Machine Learning vô cùng mạnh khỏe mẽ.

Thuật toán Neural Network

Mô hình toán học

Dưới đấy là mô hình mạng neuron cùng với 3 lớp và 8 nút


*

Lớp thứ nhất là lớp input dấn input của bài xích toán. Phần ở giữa là lớp ẩn sẽ nhận quý hiếm trả về của lớp trước nó để thống kê giám sát các giá bán trị phức hợp hơn trước khi chuyển cho tới lớp đề cập tiếp. Lớp sau cùng là lớp output.

Mỗi nút trừ các nút trực thuộc lớp input giống hệt như một thuật toán Logistic Regression. Trong số đó nó nhận vector input đầu vào là các giá trị của các nút ở trong lớp trước với output của nó lại là một phần tử của vector input cho các nút nằm trong lớp tiếp theo.

Ký hiệu $z^(l)$ là vector chứa các giá trị phương trình Decision Boundary của những nút lớp vật dụng l, $a^(l) = g(z^(l))$ là vector chứa các giá trị trả về của những nút tương ứng. Ký kết hiệu $W^(l)$ là ma trận mà mỗi sản phẩm là vector hệ số phương trình Decision Boundary của một nút thuộc lớp l+1. để ý các ma trận này còn có chỉ số hàng bắt đầu từ 1 còn chỉ số cột ban đầu từ 0.

Giá trị của các nút là

$a_1^(2) = g(W_10^(1)x_0 + W_11^(1)x_1 + W_12^(1)x_2 + W_13^(1)x_3)$

$a_2^(2) = g(W_20^(1)x_0 + W_21^(1)x_1 + W_22^(1)x_2 + W_23^(1)x_3)$

$a_3^(2) = g(W_30^(1)x_0 + W_31^(1)x_1 + W_32^(1)x_2 + W_33^(1)x_3)$

$a_4^(2) = g(W_40^(1)x_0 + W_41^(1)x_1 + W_42^(1)x_2 + W_43^(1)x_3)$

$widehaty = a_1^(3) = g(W_10^(2)a_0^(2) + W_11^(2)a_1^(2) + W_12^(2)a_2^(2) + W_13^(2)a_3^(2) + W_14^(2)a_4^(2))$

Viết một giải pháp ngắn gọn

$a^(2) = g(W^(1)a^(1)) = g(z^(2))$

$widehaty = a^(3) = g(W^(2)a^(2)) = g(z^(3))$

Lưu ý là $a^(l)_0 = 1$ với mọi lớp l.

Xem thêm: One At A Time Là Gì - 'One At A Time' Là Gì

Độ đúng chuẩn của phương trình đưa thuyết

Do lớp output tất cả thể có rất nhiều hơn một nút phải hàm mất mát của thuật toán Neural Network vô cùng phức tạp.

Ký hiệu L, K, $s_l$ thứu tự là số lớp, số nút của lớp output và số nút của lớp sản phẩm l (khác lớp output) thì hàm mất mát gồm phương trình

$J(W) = -frac1m sum_i=1^m sum_k=1^K  + fraclambda2msum_l=1^L - 1sum_q=1^s_lsum_p=1^s_l+1 (W_pq^(l))^2$

Nghiệm của thuật toán Neural Network

Để kiếm tìm điểm cực tiểu của hàm mất mát, ta rất có thể dùng Gradient Descent. Nhưng sự việc là hàm mất đuối quá phức tạp khiến cho việc tìm các đạo hàm riêng biệt với từng $W^(l)_pq$ là khó khăn.

Thuật toán Backpropagation giúp ta kiếm được các đạo hàm riêng này.

Trong trường đúng theo m = 1 ta có đạo hàm riêng rẽ của J(W) với $z_p^(L)$ là

$delta_z_p^(L) = ŷ_p^(1) - y_p^(1)$

Đạo hàm riêng biệt của J(W) với $z^(l)_p$ với 1 Yêu cầu

Cho trước m bộ dữ liệu để huấn luyện và đào tạo thuật toán. Bộ tài liệu thứ i chứa vector input $x^(i)$ cùng vector đầu ra $y^(i)$. Nhiệm vụ của ta là tra cứu ra các hệ số $W^(l)_pq$ của quy mô Neural Network đã chọn trước.

Thuật toán

Bước 1: Chọn những giá trị $W^(l)_pq$ thiên nhiên và một quý giá learning rate α.

Bước 2: Liên tiếp lặp lại các phép biến đổi

$W_pq^(l) := W_pq^(l) - alpha J_W_pq^(l)’(W)$

với những đạo hàm riêng biệt $J_W_pq^(l)’(W)$ được xem bằng thuật toán Backpropagation.

Bước 3: Thuật toán dừng lại khi J(W) thay đổi rất nhỏ dại hoặc trị tuyệt vời nhất các đạo hàm riêng vô cùng nhỏ. Ví như thuật toán ko thể dứt thì lựa chọn giá trị α nhỏ hơn rồi trở lại bước 2.

Bạn vẫn nghĩ gì?

Bạn vừa được học thuật toán Neural Network - giữa những thuật toán Machine Learning vượt trội nhất mà ta có.

Neural Network cũng chính là thuật toán phức tạp nhất mà ta đã khám phá tính đến thời điểm này.

Xem thêm: ‎Sổ Thu Chi : Quản Lý Chi Tiêu Trên App Quản Lý Chi Tiêu Ios

Bạn thử tự mình phân tích và lý giải các cách làm của thuật toán Backpropagation nhằm tính những đạo hàm riêng biệt của hàm mất mát.