Tải bản đầy đủ (.docx) (8 trang)

De cuong on tap mon mang neural

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (277.59 KB, 8 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<b>ĐỀ CƯƠNG ÔN TẬP</b>


<b>MẠNG NƠ-RON NHÂN TẠO</b>
<b>Đề 1</b>


<b>1. Mạng nơ-ron nhân tạo là gì? Tại sao chúng ta nghiên cứu mạng nơ-ron nhân tạo?</b>
Mạng nơ-ron nhân tạo (Neural Networks – NNs) là mạng bao gồm các nơ-ron kết nối với
nhau như được tìm thấy trong các bộ não sinh học. Thành phần cơ bản để cấu tạo nên mạng nơ –ron
là các nơ-ron và cách mà chúng kết nối với nhau. Do vậy, để mơ hình hóa hình thái và tìm hiểu
phương thức hoạt động của mạng nơ-ron, chúng ta sẽ bắt đầu từ các nơ-ron nhân tạo.


Nơ-ron nhân tạo là những mô phỏng thô của các nơ-ron sinh học trong bộ não. Chúng có thể
là các thiết bị vật lý hay chỉ là các mơ hình tốn học. Theo đó, mạng nơ-ron nhân tạo (Artificial
Neural Networks – ANNs) là mạng các nơ-ron nhân tạo kết nối với nhau và được xem như là mô
phỏng thô một phần bộ não sinh học. Chúng có thể là một hệ thống các thiết bị vật lý hoặc các mô
phỏng trên máy tính.


Mạng nơ-ron nhân tạo là hệ thống máy tính song song bao gồm nhiều đơn vị xử lý đơn giản,
kết nối với nhau theo một cấu trúc nào đó để thực hiện một nhiệm vụ cụ thể. Mặc dù được đơn giản
hóa về mặt mơ phỏng nhưng mạng nơ-ron nhân tạo vẫn khơng mất đi các tính chất đặc trưng của một
bộ não thật.


- Ưu điểm lớn nhất của mạng nơ-ron nhân tạo: là tính hồn tồn song song, cái mà làm cho
mạng nơ-ron nhân tạo trở nên hiệu quả. Thêm vào đó, mạng nơ-ron nhân tạo có thể học từ những dữ
liệu huấn luyện và khái qt những tình huống mới, nên nó khơng u cầu nhiều về kỹ năng lập trình.
Mạng nơ-ron nhân tạo cịn đặc biệt chịu lỗi, đây là khả năng thường được tìm thấy trong các hệ thống
sinh học; và chịu nhiễu. Vì vậy chúng có thể đối phó với tình huống mà các hệ thống symbolic thơng
thường sẽ gặp khó khăn. Nói tóm lại, về nguyên tắc, mạng nơ-ron nhân tạo có thể làm bất cứ điều gì
một hệ thống symbolic/logic có thể làm và thực tế nó cịn có thể làm được nhiều hơn thế nữa.


- Giống như các lĩnh vực trí tuệ nhân tạo nói chung, hai mục tiêu cơ bản của việc nghiên cứu


mạng nơ-ron nhân tạo là:


<i><b>+ Mơ hình hóa bộ não: Mục đích khoa học của việc xây dựng các mơ hình mạng nơ-ron nhân</b></i>
tạo là tìm hiểu thực tế não làm việc như thế nào. Điều này có thể giúp chúng ta hiểu được bản chất sự
thông minh của con người, xây dựng các chiến lược dạy tốt, hoặc là các hoạt động chữa trị hiệu quả
cho các bệnh nhân bị thương tổn về não.


<i><b>+ xây dựng hệ thống nhân tạo: Mục đích kỹ thuật của việc xây dựng hệt thống mạng nơ-ron</b></i>
nhân tạo là nhằm đem lại hiệu quả tốt hơn đối với các ứng dụng thực tế. Điều này có thể làm cho máy
móc hoạt động tốt hơ, thay thế con người những cơng việc nhàm chán và thậm chí có thể cải thiện
hiệu suất công việc.


<b>2. Hãy mô tả mô hình nơ-ron nhân tạo McColloch-Pitts?(Hình vẽ, phương trình tính</b>
<b>output)</b>


 Trên cơ sở cấu trúc chung của một ron sinh học, McCulloch-Pitts đã đề nghị mơ hình


nơ-ron nhân tạo đơn giản nhất được biết đến là đơn vị logic ngưỡng như hình vẽ 2-4, bao gồm:


 Một tập các kết nối (synapses) mang kích hoạt từ các nơ-ron khác đến.


 Một đơn vị xử lý tính tổng tất cả các tín hiệu vào và sau đó áp dụng một hàm kích hoạt


khơng tuyến tính (hàm chuyển hay hàm ngưỡng).


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>



 Kết quả ra của một nơ-ron McCulloch-Pitts có thể được biểu diễn như là một hàm của n thành


phần vào:



 trong đó θ là ngưỡng kích hoạt của nơ-ron. Chúng ta có thể dễ dàng thấy rằng:


 Lưu ý rằng nơ-ron McCulloch-Pitts là một mơ hình cực kỳ đơn giản so với một nơ-ron sinh


học. Do đó một số đặc điểm đã bị đơn giản hóa như: giá trị vào/ra khơng phải là nhị phân,
tổng vào là khơng tuyến tính, ngưỡng mịn, tính ngẫu nhiên (stochasticity) và xử lý thơng tin
có tính đến yếu tố thời gian.


Tuy thế, ron McCulloch-Pitts vẫn rất mạnh về mặt tính tốn. Người ta đã chỉ ra rằng tập các
nơ-ron McCulloch-Pitts có thể tính tốn được rất nhiều thứ


 Hàm ngưỡng hay hàm dấu sgn(x) được định nghĩa là


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

<b>Câu 3: Hãy giải thích bản chất của luật học Perceptron? (Hình vẽ minh họa, phương trình luật</b>
<b>học Perceptron). Hãy chỉ ra ưu, khuyết điểm và phạm vi ứng dụng của luật học perceptron?</b>


- Để có thể cài đặt được một ứng dụng, nhiều nơ-ron sẽ được kết nối với nhau và được đánh
số. Luồng kích hoạt truyền giữa chúng được thực hiện thơng qua các khớp nối có trọng số tương ứng
là wki, wij


- Chúng ta có thể kết nối các nơ-ron McCulloch-Pitts lại với nhau theo một cách bất kỳ mà
chúng ta muốn. Mạng bao một lớp vào (input) được kết nối trực tiếp với một lớp các nơ-ron
McCulloch-Pitt như hình vẽ 3-2 được gọi là mạng Perceptron một lớp.


- Một trong những ứng dụng đơn giản nhất đầu tiên mà chúng ta có thể cài đặt là sử
dụng mạng Perceptron để thiết lập các cổng logic. Điều mà chúng ta cần là làm thế nào để xác
định trọng số kết nối và ngưỡng nơ-ron thích hợp để kết quả sinh ra là đúng với một tập dữ
liệu vào.



- Để có thể hồn thành được một cổng logic như thế, chúng ta sẽ băt đầu với các công
logic đơn giản như NOT, AND và OR, bởi vì chúng ta có thể thiết kế được bất cứ chức năng
logic nào từ 3 cổng logic nêu trên. Tuy nhiên, thực tế người ta thường sẽ không thiết kế ANN
phức tạp hơn Perceptron một lớp, mà người ta tìm cách xác định trọng số và ngưỡng trực tiếp
từ một kiến trúc Perceptron một lớp nào đó khác.


- Thực tế đã chứng minh rằng, việc thiết kế một ANN đơn giản là một chuyện, nhưng
vấn đề là làm thế nào để chứng tỏ được rằng ANN đó thực hiện được chức năng như mục tiêu
đã đề ra! Nếu dùng phương pháp thử như trên, vấn đề là sau bao lâu thì chúng ta mới tìm ra
được lời giải? (ví dụ trường hợp cổng XOR) Vì vậy chúng ta nên tìm một phương pháp tính
tốn thích hợp khác để xác định các tham số, hơn là việc thử và sai.


- Chúng ta sẽ bắt đầu phương pháp tính tốn với mơ hình mạng Perceptron cho cổng AND.
Theo mơ hình này, chúng ta có 2 trọng số w1, w2 và ngưỡng q. Đối với mỗi mẫu huấn luyện,


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

- Việc huấn luyện dữ liệu dẫn đến 4 bất phương trình sau:


- Có thể dễ dàng nhìn thấy rằng có vơ hạn lời giải. Tương tự, có vơ hạn lời giải cho mạng OR
và mạng NOT.


- Trở lại với mạng Perceptron cho cổng logic XOR, với phương pháp tính tốn như trên,
chúng ta có được 4 bất phương trình


- Rõ ràng bất phương trình 2 và 3 khơng bao giờ thỏa mãn được bất phương trình 4 và như
vậy khơng thể tìm ra được lời giải. Chúng ta cần loại mạng phức tạp hơn, ví dụ tổ hợp từ nhiều mạng
đơn, hoặc sử dụng hàm ngưỡng/kích hoạt khác. Thêm vào đó sẽ khó khăn hơn khi xác định trọng số
và ngưỡng bằng phương pháp thử.


<i><b>* Ưu điểm: Mạng Perceptron là cơng cụ tính tốn mạnh, có khả năng thực hiện “bất kỳ” chức</b></i>
năng logic nào.



<i><b>* Khuyết điểm: mạng Perceptron một lớp với hàm kích hoạt “step-function” vẫn bộc lộ những</b></i>
hạn chế, ví dụ nó khơng thể thực hiện bài tốn XOR.


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

<b>Câu 4: Hãy giải thích bản chất của luật học delta? (phương trình luật học delta) Hãy so sánh</b>
<b>luật học delta với luật học perceptron?</b>


Chúng ta giờ đã có giải thuật học bằng cách giảm gradient cho mạng một lớp:


Chú ý rằng nó vẫn bao gồm đạo hàm của hàm chuyển f(x). Đó chính là vấn đề đối với
Perceptron một lớp có sử dụng hàm bước sgn(x) như là hàm ngưỡng của nó. Bởi vì đạo hàm là ln
ln 0 ngoại trừ tại x=0 nên nó là vơ hạn.


May mắn là có một mẹo mà chúng ta có thể vượt qua được trở ngại trên: Giả chúng ta có hàm
chuyển f(x) = x + 1/2, thì f(x)=1 khi x=1/2 và f(x)=0 khi x = -1/2. Rõ ràng những giá trị này cũng
tuân theo qui luật của hàm dấu sgn(x) và Perceptron cũng sẽ hoạt động được với hàm ngưỡng này.
Nói một cách khác, chúng ta có thể sử dụng thuật toán học bằng cách giảm gradient với f(x) = x + 1/2
để Perceptron có thể học các trọng số. Trong trường hợp này, f’(x)=1 và do đó phương trình cập nhật
trọng số trở thành:


Phương trình này có tên gọi là Luật học Delta bởi vì nó phụ thuộc trên sự khác biệt δl = targl –
outl


<i><b>* so sánh luật học delta với luật học perceptron</b></i>


- Giống nhau: luật học Delta và luật học Perceptron đối với Perceptron một lớp có cùng
phương trình cập nhật trọng số.


- Khác nhau:



 Các luật học Perceptron sử dụng hàm kích hoạt f(x) = sgn(x), trong khi luật Delta sử


dụng hàm tuyến tính f(x) = x + 1/2.


 Hai thuật tốn được xuất phát từ những quan điểm lý thuyết khác nhau: luật học


Perceptron bắt nguồn từ việc xem xét làm thế nào để di chuyển siêu phẳng quyết định,
trong khi luật Delta xuất từ việc tối thiểu hóa SSE bằng cách giảm gradient.


 Luật học Perceptron sẽ hội tụ khi lỗi bằng 0 và trọng số sẽ không thay đổi sau một số


hữu hạn các bước thực hiện nếu vấn đề đang xem xét là tuyến tính, cịn khơng thì nó sẽ
bị dao động qua lại. Trong khi đó luật Delta (với η đủ nhỏ) luôn luôn hội tụ về một tập
trọng số mà lỗi là tối thiểu, mặc dù sự hội tụ đến những giá trị chính xác của x = ± 1/2
thông thường phụ thuộc vào một tốc độ giảm η.


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

<i><b>* Bản chất của mạng lan truyền ngược:</b></i>


- Chúng ta đã không thể tìm được trọng số của mạng Perceptron một lớp khi giải bài toán
XOR. Tuy nhiên, mạng Perceptrons nhiều lớp (MLPs) lại có khả năng giải các bài tốn khơng tuyến
tính.


<i><b> * Mơ hình ANNs nhiều lớp</b></i>


- hoặc nếu xem xét đối với mỗi nơ-ron thì


trong đó mỗi đơn vị xử lý j trong lớp n nhận kích hoạt outi(n-1)<sub> từ các đơn vị xử lý i của lớp trước đó</sub>
(n-1) và gởi kích hoạt outj(n)<sub> cho các đơn vị xử lý của lớp kế tiếp (n+1).</sub>


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

Rõ ràng chúng ta có thể thêm nhiều lớp nữa, nhưng thực tế thì 2 lớp là đủ. Chúng ta có thể sử


dụng hàm kích hoạt khác nhau cho các lớp khác nhau, thậm chí cho cả các đơn vị xử lý khác nhau
trong cùng lớp.


<i><b>* Phương trình điều chỉnh trọng số và giải thích:</b></i>


- Chúng ta có thể sử dụng cùng ý tưởng như đã trình bày để huấn luyện mạng N lớp. Chúng ta
muốn điều chỉnh trọng số mạng wij(n)<sub> để giảm thiểu hàm tổng bình phương lỗi </sub>


và một lần nữa chúng ta có thể thực hiện điều này bằng một loạt các cập nhật trọng số bằng cách
giảm gradient


Lưu ý rằng đây mới chỉ là kết quả ra outj(N)<sub> của các lớp cuối cùng xuất hiện trong hàm lỗi.</sub>


Tuy nhiên, kết quả ra lớp cuối cùng lại phụ thuộc vào các lớp trọng số trước đó và giải thuật học sẽ
điều chỉnh tất cả chúng. Giải thuật học tự động điều chỉnh kết quả ra outi(n-1)<sub> của các lớp (ẩn) trước sao</sub>
cho chúng tạo ra những đại diện trung gian (ẩn) thích hợp.


Đối với mạng 2 lớp, kết quả ra cuối cùng có thể được ghi:


</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

Bây giờ chúng ta thay thế các đạo hàm trong hai phương trình cập nhật trọng số


Nếu hàm chuyển f(x) là hàm Sigmoid thì chúng ta sử dụng f’(x) = f(x).(1 - f(x)) để cho


</div>

<!--links-->

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×