Bạn có chắc chắn muốn xóa bài viết này không ?
Bạn có chắc chắn muốn xóa bình luận này không ?
Neural Network - Phần 1
Neural Network
Vì sao học Neural Network?
Mạng Neural là một kỹ thuật non-sense
để dạy một máy tính biết cách suy nghĩ và phân biệt dữ liệu. Từ đó, bạn có thể biến cái máy tính của bạn thành một trợ thủ đắc lực trong những việc cần ra quyết định hợp lý nhất dựa vào dữ liệu quá khứ của nó.
Lý thuyết sơ lược
Tuần này mình tìm hiểu qua về Neural Network, và một số thứ liên quan đến nó.
Đây là một vài ghi chép nhỏ.
- Việc dạy một mạng Neural có 1 layer tương đương với việc giải ra ma trận tham số của nó. Hình dung bạn đang giải một hệ phương trình tuyến tính:
y = W*p
ở đây, p
là một vector input.
W
là ma trận tham số, đại diện cho layer.
- Để chuẩn hoá
y
, chúng ta cần một hàmf
(gọi là activation function), nó phải vi phân được, mục đích được dùng trong thuật toán dạy neuron.
Các hàm phổ biến là: signoid
, cosine
, sine
.
Do đó, ta có y = f(W*p)
Vậy, công việc đầu tiên, bạn cần có 1 training dataset
, để dạy nó.
Sau đó chỉ cần đưa input
, và nó sẽ cho bạn output
bạn cần.
Rất đơn giản, đúng không ?
Practice
Mình dùng docker
đóng gói sẵn python, theano và tensorflow để thực hành.
docker pull thoughtgram/keras
docker create -it -v ~/neural:/projects/neural
--name neural-playground thoughtram/keras
docker start neural-playground
Mở python shell dùng docker exec
docker exec -it neural-playground python
Ở phần 2, chúng ta sẽ cùng nghiên cứu một vài bài toán vỡ lòng của Neural.
checkraiser 14-10-2016







