Professional Documents
Culture Documents
No-Ron Nhan Tao 1 PDF
No-Ron Nhan Tao 1 PDF
Mạng noron nhân tạo là sự tái tạo bằng kỹ thuật những chức năng của hệ
thần kinh con người với vô số các neural được liên kết truyền thông với nhau qua
mạng. Giống như con người, ANN được học bởi kinh nghiệm, lưu những kinh
nghiệm đó và sử dụng trong những tình huống phù hợp.
Mạng neural trong một vài năm trở lại đây đã được nhiều người quan tâm và
đã áp dụng thành công trong nhiều lĩnh vực khác nhau, như tài chính, y tế, địa chất,
vật lý và công nghệ thông tin… .Thật vậy, bất cứ ở đâu có vấn đề về dự báo, phân
loại và điều khiển, mạng neural đều có thể ứng dụng được. Ví dụ như khả năng
nhận dạng mặt người trong các hệ thống quản lý thông tin liên quan đến con người
(quản lý nhân sự ở các công sở, doanh nghiệp; quản lý học sinh, sinh viên trong các
trường trung học, đại học và cao đẳng;… ); các ngành khoa học hình sự, tội phạm;
khoa học tướng số, tử vi; hoặc các trò chơi cũng như phát triển thế hệ robot thông
minh biết suy nghĩ như con người.
Mạng nơ-ron nhân tạo dựa trên việc mô phỏng cấp thấp hệ thống neural sinh
học. Trong tương lai với sự phát triển mô phỏng nơ-ron sinh học, chúng ta có thể có
loại máy tính thông minh thật sự. Nếu so sánh máy tính và bộ não con người thì
chúng ta có thể thấy mạng nơ-ron nhân tạo mạnh hơn rất nhiều so với chúng ta.
Máy tính có thể chứa 109 transitor với thời gian chuyển mạch là 10-9 (s), trong khi
đó bộ não con người có 1011 nơ-ron và thời gian “chuyển mạch” của con người là
10-3 (s).
Tuy nhiên, sự so sánh này rất khập khiễng vì đơn giản chúng ta còn chưa
khám phá hết khả năng của não bộ con người. Mặc dù vậy chúng ta có thể thấy, nếu
1
Tài liệu Mạng Nơ-ron nhân tạo – Bản quyền Matlabthayhai.info Kiến thức là của chung – Hãy chia sẻ!
trí tuệ nhân tạo thực sự đạt được mức độ phát triển cao và tiệm cận với trí tuệ con
người thì có lẽ khi đó nó sẽ có rất nhiều ứng dụng và thúc đẩy sự phát triển của loài
người. Chẳng thế mà ông hoàng vật lý Stephen Hawking đã cảnh báo, robot có
thể phát triển nhanh hơn so với con người và mục tiêu của chúng sẽ không thể đoán
trước được. Giáo sư chia sẻ: “Tôi không cho rằng những tiến bộ trong trí tuệ nhân
tạo là một sự an toàn trong tương lai, và chúng có thể sẽ đe dọa tương lai của loài
người chúng ta. Một khi đạt đến mức độ nào đó, chúng ta sẽ không thể dự đoán
được mục tiêu cũng như khó lòng có thể kiểm soát được chúng”.
Ông nói thêm: “Trí thông minh nhân tạo có tiềm năng để phát triển nhanh
hơn so với các chủng tộc của con người. Do đó, ta cần đảm bảo AI được thiết kế có
đạo đức và có biện pháp bảo vệ, kiểm soát nghiêm ngặt tại chỗ”.
Hình 1.2. Một hình ảnh về trí tuệ nhân tạo bậc cao trong bộ phim giả tưởng « Siêu
trí tuệ »
2
Tài liệu Mạng Nơ-ron nhân tạo – Bản quyền Matlabthayhai.info Kiến thức là của chung – Hãy chia sẻ!
Trong đó :
Các synapses đóng vai trò rất quan trọng trong sự học tập. Khi chúng ta học tập
thì hoạt động của các synapses được tăng cường, tạo nên nhiều liên kết mạnh giữa
các nơron.
3
Tài liệu Mạng Nơ-ron nhân tạo – Bản quyền Matlabthayhai.info Kiến thức là của chung – Hãy chia sẻ!
Có thể nói rằng người nào học càng giỏi thì càng có nhiều synapses và các
synapses ấy càng mạnh mẽ, hay nói cách khác, thì liên kết giữa các nơron càng
nhiều, càng nhạy bén.
Nơ-ron là một đơn vị tính toán có nhiều đầu vào và một đầu ra, mỗi đầu vào đến từ
một syanpse. Đặc trưng của neuron là một hàm kích hoạt phi tuyến chuyển đổi một tổ hợp
tuyến tính của tất cả các tín hiệu đầu vào thành tín hiệu đầu ra.
Một nơ-ron nhân tạo là một đơn vị tính toán hay đơn vị xử lý thông tin cơ sở cho hoạt động
của một mạng nơ-ron . Sơ đồ khối của hình 1.1 chỉ ra mô hình của một nơ-ron nhân tạo.
Ở đây, chúng ta xác định ba thành phần cơ bản của một neuron :
- Một tập hợp các weights hay các kết nối, mà mỗi một trong chúng được đặc trưng
bởi một trọng số của riêng nó. Tức là một tín hiệu xj tại đầu vào của weights j nối với
neuron k sẽ được nhân với trọng số weights wkj. Ở đó k là chỉ số của neuron tại đầu ra của
weights đang xét, còn j chỉ điểm đầu vào của weights. Các trọng số weights cuả một
neuron nhân tạo có thể nhận cả các giá trị âm và các giá trị dương.
- Một bộ cộng để tính tổng các tín hiệu đầu vào của neuron, đã được nhân với các
trọng số weights tương ứng; phép toán được mô tả ở đây tạo nên một bộ tổ hợp tuyến tính.
Một hàm kích hoạt (activation function) để giới hạn biên độ đầu ra của neuron. Hàm kích
hoạt cũng được xem xét như là một hàm nén; nó nén (giới hạn) phạm vi biên độ cho phép
của tín hiệu đầu ra trong một khoảng giá trị hữu hạn. Mô hình một neuron trong hình 2.2
còn bao gồm một hệ số hiệu chỉnh tác động từ bên ngoài, bk. Hệ số hiệu chỉnh bk có tác
dụng tăng lên hoặc giảm đi đầu vào thực của hàm kích hoạt, tuỳ theo nó dương hay âm. Có
nhiều loại hàm kích hoạt.
4
Tài liệu Mạng Nơ-ron nhân tạo – Bản quyền Matlabthayhai.info Kiến thức là của chung – Hãy chia sẻ!
- Dưới dạng công thức toán học, chúng ta có thể mô tả một neuron k bằng cặp công
thức sau:
m
uk w
j0
x
kj j (2.1)
và
yk=f(uk+bk) (2.2)
trong đó x1,x2,...,xm là các tín hiệu đầu vào; wk1,wk2,...,wkm là các trọng số weights
của neuron k; uk là đầu ra bộ tổ hợp tuyến tính tương ứng; bk là hệ số hiệu chỉnh.
Hệ số hiệu chỉnh bk là một tham số ngoài của neuron nhân tạo k. Chúng ta có
thể thấy được sự có mặt của nó trong công thức (2.2). Một cách tương đương,
chúng ta có thể tổ hợp các công thức (2.1) và (2.2) như sau:
m
e k wkj x j (2.3)
j 0
và
y k f (v k ) (2.4)
Trong công thức (2.3), chúng ta đã thêm một weights mới. Đầu vào của nó là:
x0=+1 (2.5)
và trọng số của nó là
wk0=bk (2.6)
Như vậy chúng ta vẽ lại mô hình của neuron k như trong hình 2.3. Trong hình
này, nhiệm vụ của hệ số hiệu chỉnh là thực hiện hai việc: (1) thêm một tín hiệu
đầu vào cố định là 1, và (2) thêm một trọng số weights mới bằng giá trị của hệ
số bk. Mặc dầu các mô hình trong hình 2.2 và 2.3 là khác nhau về hình thức
nhưng tương tự về bản chất toán học.
Hình 2.3. Mô hình phi tuyến thứ hai của một neuron
5
Tài liệu Mạng Nơ-ron nhân tạo – Bản quyền Matlabthayhai.info Kiến thức là của chung – Hãy chia sẻ!
(3.1)
Trong các tài liệu kỹ thuật, dạng hàm ngưỡng này thường được gọi là hàm Heaviside. Đầu
ra của neuron k sử dụng hàm ngưỡng sẽ như sau
1 nÕu v k 0
yk (3.2)
0 nÕu v k 0
ở đó vk là đầu ra của bộ tổ hợp tuyến tính, có nghĩa là
m
vk wkj x j bk (3.3)
j 1
Hình 3.1. (a) Hàm ngưỡng, (b) Hàm vùng tuyến tính
6
Tài liệu Mạng Nơ-ron nhân tạo – Bản quyền Matlabthayhai.info Kiến thức là của chung – Hãy chia sẻ!
(3.4)
Dạng hàm này có thể được xem như môt xấp xỷ của một bộ khuếch đại phi tuyến.
(3.5)
ở đó a là tham số độ dốc của hàm sigma. Bằng việc biến đổi tham số a, chúng ta thu được
các hàm sigma với các độ dốc khác nhau, như được minh hoạ trong hình 3.1.c. Thực tế, hệ
số góc tại v=0 là a/4. Khi tham số hệ số góc tiến tới không xác định, hàm sigma trở thành
một hàm ngưỡng đơn giản. Trong khi một hàm ngưỡng chỉ có giá trị là 0 hoặc 1, thì một
hàm sigma nhận các giá trị từ 0 tới 1. Cũng phải ghi nhận rằng hàm sigma là hàm phân
biệt, trong khi hàm ngưỡng thì không (tính phân biệt của hàm là một đặc tính quan trọng
trong lý thuyết mạng neuron).
Các hàm kích hoạt được định nghĩa trong các công thức (3.1), (3.4), (3.5) đều trong
phạm vi từ 0 đến 1. Đôi khi có những yêu cầu xây dựng hàm kích hoạt trong phạm vi từ -1
đến 1, trong trường hợp này hàm kích hoạt được giả định có dạng đối xứng qua gốc toạ độ
(hay có thể gọi là dạng phản đối xứng); nghĩa là hàm kích hoạt là một hàm lẻ. Ví dụ, hàm
ngưỡng trong công thức (3.1) bây giờ được xác định như sau
1 v0
f (v ) 0 v0 (3.6)
1 v0
Hàm này thường được gọi là hàm signum.
7
Tài liệu Mạng Nơ-ron nhân tạo – Bản quyền Matlabthayhai.info Kiến thức là của chung – Hãy chia sẻ!
từ lớp input đến lớp ouput. Các nơ-ron không cùng lớp thì nối với nhau nhưng các nơ-ron
cùng lớp thì không nối với nhau. Trong mạng tiến có hai loại mạng đó là mạng tiến đa
mức (multilayer) và mạng tiến đơn mức (singlelayer).
8
Tài liệu Mạng Nơ-ron nhân tạo – Bản quyền Matlabthayhai.info Kiến thức là của chung – Hãy chia sẻ!
Chương trình 2. Quan sát đầu ra của mạng nơ-ron với các giá trị đầu vào khác nhau
[p1,p2] = meshgrid(-10:.25:10);
z = feval(func, [p1(:) p2(:)]*w'+b );
z = reshape(z,length(p1),length(p2));
plot3(p1,p2,z)
grid on
xlabel('Input 1')
ylabel('Input 2')
zlabel('Neuron output')
9
Tài liệu Mạng Nơ-ron nhân tạo – Bản quyền Matlabthayhai.info Kiến thức là của chung – Hãy chia sẻ!
Còn tiếp…..
Ghi chú
Tài liệu được tham khảo từ nhiều nguồn khác nhau và từ kiến thức của chính tác
giả. Mong các bạn sẽ có những kiến thức bổ ích và tài liệu hỗ trợ quá trình học tập cũng
như nghiên cứu. Cấm sao chép dưới mọi hình thức !
Website : Matlabthayhai.info
Email : Matlabthayhai@gmail.com
10