Giới thiệu phần mềm xây dựng mạng nơron nhân tạo

1. Phần mềm WinNN32

Đề tài nghiên cứu ứng dụng phần mềm WinNN32 để xây dựng mạng nơron thần kinh nhân tạo. WinNN32 là một phần mềm mạng thần kinh sử dụng thuật toán lan truyền ngược. Phần mềm này có giao diện rất dễ sử dụng. Tuy nhiên, để tìm được một mạng nơron tối ưu đòi hỏi người sử dụng phải có kinh nghiệm, đặc biệt trong quá trình lựa chọn số lớp ẩn và số nút trong từng lớp. Qua thực hiện, chúng tôi thấy rằng chỉ nên chọn 1 lớp ẩn và số nút trong lớp ẩn đó chỉ chọn trong khoảng từ i đến 2i – 1 (i là số biến đầu vào).

sp14

Trong đó:

– Iterations: cho biết mạng sẽ thực hiện tính toán bao nhiêu lần.

– Good Pats: phần trăm các mẫu học (pattern) có sai số nhỏ hơn hoặc bằng sai số mục tiêu.

– Target Error: đặt chỉ tiêu dùng đào tạo. Quá trình đào tạo sẽ dừng lại khi tất cả các pattern có sai số nhỏ hơn hoặc bằng sai số mục tiêu.

– Eta (η): thông số học tập (the learning parameter).

– Alpha (α): thông số momen (the momentum).

– Input Noise: sẽ tạo ra một chỉ số nhiễu ngẫu nhiên cho mỗi node đầu vào (a random input noise of {the value} to each input node). Quá trình đào tào với các giá trị nhiễu thêm vào này sẽ làm cho mạng được đào tạo ít nhạy hơn so với thay đổi của các giá trị đầu vào và vì thế có thể tránh được cực trị địa phương.

– Weight Noise: sẽ tạo ra một giá trị nhiễu ngẫu nhiên vào mỗi trọng số.
Mục đích của giá trị nhiễu này giúp mạng nhảy ra khỏi các cực trị địa phương

– Temp: thay đổi nhiệt độ của hàm nơron (changes the temperature of the
neuron function).

sp15

– Thay đổi nhiệt độ đôi khi cũng làm cho quá trính học tập nhanh hơn, trong hầu hết các trường hợp, kết quả tốt nhất thu được với giá trị mặc định bằng 1.

2. Toolbox neural network của phần mềm Matlab

Matlab (Matrix Laboratory) là một môi trường trợ giúp tính toán và hiển thị rất mạnh được hãng MathWorks phát triển. Mức phát triển của Matlab ngày nay đã chứng tỏ Matlab là một phần mềm có giao diện cực mạnh cùng nhiều lợi thế trong kĩ thuật lập trình để giải quyết những vấn đề đa dạng trong nghiên cứu khoa học kỹ thuật. Ngoài thư viện các hàm tính toán, đồ hoạ…, Matlab còn có các toolbox là các thư viện cho từng lĩnh vực cụ thể Toolbox neural network là một công cụ rất đơn giản để huấn luyện mạng ANN. Ngoài ra đây là công cụ hoàn chỉnh hơn nhiều so với WinNN32 vì nó không chỉ phát triển theo hướng Nơron thần kinh với thuật toán lan truyền ngược (BPNN) mà nó còn phát triển cả theo hướng mạng Fuzzy (Fuzzy Logic), thuật toán giải đoán Gen (Genetic Algorithms – GA) và sử dụng nhiều thuật toán tối ưu khác. Với phần mềm này chúng tôi đã sử dụng thuật toán tối ưu Levenberg-Marquardt vì vậy rút ngắn được thời gian chạy chương trình rất nhiều so với dùng Win NN32. Giao diện của phần mềm này được minh hoạ trong hình

sp13

Trong đó:

– Epochs: Số lượng tối đa thời kỳ mạng được đào tạo

– Time: Thời gian tối đa để huấn luyện trong vài giây

– Goal: Mục tiêu thực hiện

– Min_grad: hiệu suất tối thiểu của Gradient

– Max_fail: số lần kiểm định tối đa

– mu: giá trị µ khởi tạo

– mu_dec: giảm hệ số µ

– mu_inc: tăng hệ số µ

– mu_max: giá trị µ tối đa