1. Trang chủ
  2. » Luận Văn - Báo Cáo

BÁO CÁO ARTIFICAL NEURAL NETWORKS ỨNG DỤNG THUẬT GIẢI LAN TRUYỀN NGƢỢC VÀO MỘT SỐ CỔNG LOGIC

15 374 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 652,45 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hình 1: Mạng nơron thần kinh  Cơ chế học của neuron thần kinh - Tín hiệu được lan truyền giữa các neuron.. - Mối liên hệ giữa các neuron bộ nhớ dài hạn quy định chức năng của mạng nơron

Trang 1

BÁO CÁO ARTIFICAL NEURAL NETWORKS

ỨNG DỤNG THUẬT GIẢI LAN TRUYỀN NGƯỢC

VÀO MỘT SỐ CỔNG LOGIC

Hồ Chí Minh, ngày , tháng , năm

Giáo viên hướng dẫn

Phạm Thi Vương

Họ tên Sinh Viên MSSV

Phạm Trung Kiên 11520187

Hoàng Xuân Lâm 11520198

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

Trang 2

CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI I.1 Mục tiêu của đề tài

Mục tiêu của đề tài là xây dựng một ứng dụng nhỏ nhằm mô phỏng cách hoạt động của thuật giải lan truyền ngược (back propogation) Ứng dụng mà nhóm xây dựng là ứng dụng áp dụng lan truyền ngược để tính cá gí trị đầu ra của các công logic như: AND, OR, NOT, XOR, NAND

I.2 Phạm vi của đề tài

Đề tài mới chỉ biểu diễn đơn(ngoài NAND và XOR) cổng tức là chưa có sự kết hợp của nhiều cổng logic khác nhau Số lượng ngõ nhập của mỗi cổng còn ít

I.3 Phương pháp tìm hiểu

Để tìm hiểu thuật giải và cài đặt ứng dụng nhóm đã làm các bước sau:

Bước 1: Tìm hiểu lý thuyết mạng nơron nhân tạo(ANN) và các thuật giải

Bước 2: Chọn lọc đề tài tìm hiểu và đó là thuật giả lan truyền ngược

Bước 3: Tìm hiểu các vấn đề liên quan và chọn ra các bài toán về cổng logic

CHƯƠNG II: CƠ SỞ LÝ THUYẾT

II.1 Giới thiệu nơron sinh học

 Não bộ con người gồm:

- 1010 tế bào thần kinh – neuron, 6x1014 khớp thần kinh synapse

- Mỗi tế bào có cấu trúc đơn giản

- Một neuron bao gồm: thân – soma, nhiều sợi thần kinh – dendrite và một sợi trục chính – axon

Trang 3

Hình 1: Mạng nơron thần kinh

 Cơ chế học của neuron thần kinh

- Tín hiệu được lan truyền giữa các neuron

- Một neuron nhận tín hiệu kích thích từ các khớp nối và phát tín hiệu qua soma đến các neuron khác

- Mối liên hệ giữa các neuron (bộ nhớ dài hạn) quy định chức năng của mạng nơron và được hình thành từ từ qua quá trình học

II.2 Mạng nơron nhân tạo

II.2.1 Khái niệm

Mạng nơron nhân tạo (Artificial Neural Netwok – ANN): là một tập hợp các bộ xử

lý rất đơn giản – nơron– và nối với nhau

Hình 2: Mạng nơron nhân tạo

Cấu trúc và phương thức hoạt động của ANN mô phỏng tương tự mạng neuron sinh học Dưới đây là sư tương quan các yếu tố cảu mạng nơron sinh học và mạng nơron nhân tạo

Trang 4

Hình 3: Sơ đồ

Các nơron được bởi các liên kết với các trọng số tương ứng Các trọng số ứng với

bộ nhớ dài hạn của ANN

ANN “học” bằng cách điều chỉnh từ từ các trọng số này qua quá trình tương tác với môi trường (huấn luyện)

Một số mạng nơron tiêu biểu:

- Mạng nơron nhiều lớp (Multilayer Perceptron): được ứng dụng rộng rãi trong các bài toán phân lớp (nhận dạng), hồi quy (dự đoán)…

- Mạng Hopfield: một loại bộ nhớ nội dung có thể đánh địa chỉ (content-addressable memory), dùng để lưu trữ dữ liệu

- Ánh xạ tự tổ chức (Self Organising Maps) – Mạng Kohonen: dùng trong học bán giám sát, dùng để gom nhóm dữ liệu

II.2.2 Thành phần tính toán

Dưới đây là hình minh họa sơ đồ tính toán

t: Ngưỡng hoạt hóa

Y được gọi là hàm kích hoạt hay hàm truyền

 

t X if

t X if Y

w x X

n

i

i i

1 1

1

Trang 5

Một số hàm truyền trong thực tế:

Hàm sign và step đƣợc gọi là hàm giới hạn cứng

II.3 Mạng nơron nhiều lớp

Một mạng nơron lan truyền tiến gồm một lớp nhập, ít nhất một lớp ẩn, và một lớp xuất

n i

i

iw t x

sign Y

1

Trang 6

Hình 4: Mạng nơron nhiều lớp

 Lớp nhập: nhận các input và phân phối chúng cho tất cả neuron trong lớp ẩn

 Lớp xuất: biểu diễn kết quả của toàn mạng

 Lớp ẩn:

- Dò tìm các đặc trƣng

- Các neuron trong lớp này “ẩn” các kết xuất mong muốn của chúng

- Mạng một lớp ẩn có thể biểu diễn bất kỳ hàm liên tục nào

- Mạng hai lớp ẩn có thể biểu diễn các hàm không liên tục

Quá trình học gồm hai pha:

- Lan truyền các mẫu input từ lớp nhập đến lớp xuất, tại mỗi neuron tính

Trang 7

- Lan truyền ngược sai số từ lớp xuất và cập nhật các trọng số

II.4 Luật học MLP

- Tại nút xuất, tính sai số với là kết xuất mong muốn ở nút k tại vòng lặp thứ p

- Cập nhật sai số tương tự luật học perceptron

với:

Trong đó: gradient sai số tại nơron p của lớp xuất

- Gradient sai số = đạo hàm hàm kích hoạt nhân với sai số tại neuron xuất

- tính đạo hàm ta được:

trong đó:

-

- Tại nút ẩn, ta có thể áp dụng cùng công thức với lớp xuất:

trong đó: là gradient sai số tại neuron j trong lớp ẩn

với l là số neuron của nút xuất và

Trang 8

với n là số neuron của lớp nhập

II.5 Thuật toán lan truyền ngược

Bước 1: Khởi tạo

Đặt giá trị ngẫu nhiên các trọng số và ngưỡng của mạng

Bước 2: Kích hoạt

- Tính kết xuất thực sự của các nơron trong lớp ẩn:

- Tính kết xuất thực sự của các neuron trong lớp xuất

Bước 3: Huấn luyện trọng số

- Tính gradient sai số cho các neuron lớp xuất:

- Cập nhật các trọng số của neuron lớp xuất:

- Tính gradien sai số và cập nhật trọng số lớp ẩn

Trang 9

Bước 4: Lặp

Trang 10

CHƯƠNG III: CÀI ĐẶT ỨNG DỤNG III.1 Công cụ cài đặt

Ứng dụng được cài đặt bằng ngôn ngữ Java trên NetBeans IDE 8.0 và Netbean Platform

III.2 Chức năng của ứng dụng

Ứng dụng gồm ba chức năng chính là setting, trainer và tester

- Chức năng setting là chức năng cài đặt các dữ kiện cho bài toán

- Chức năng trainer là chức năng huấn luyện các bài toán trong ứng dụng

- Chức năng tester là chức năng kiểm tra sau khi trải qua quá trình huấn luyện

Hình 5: Giao diện các chức năng chính

Trang 11

III.3 Một số phần xử lý chính của ứng dụng

- Hàm truyền:

public double trigger( double value ) {

return 1.0 / (1.0 + Math.pow(Math.E, -value));

}

- Lấy sai số ứng với lớp xuất:

//lay gia tri sai so cho output layer

for (int i = 0; i < numberOfOutputs; i++)

{

delta_outputs[i] = outputs[i] * (1.0 - outputs[i]) * (target[i] - outputs[i]); }

- Lấy sai số ứng với lớp ẩn:

// lay gia tri sai so cho hidden layer

for (int i = 0; i < numberOfHiddens + 1; i++)

{

double error = 0.0;

for (int j = 0; j < numberOfOutputs; j++)

{

error += hiddenToOutputWeights[i][j] * delta_outputs[j];

}

delta_hidden[i] = hiddens[i] * (1.0 - hiddens[i]) * error;

}

Trang 12

- Cập nhập trong số giữa lớp ẩn và lớp xuất:

// cap nhap trogn so nam giua hidden & output layer

for (int i = 0; i < numberOfOutputs; i++)

{

for (int j = 0; j < numberOfHiddens + 1; j++)

{

hiddenToOutputWeights[j][i] += learningRate * delta_outputs[i] * hiddens[j]; }

}

- Cập nhập trọng số giữa lớp vào và lớp ẩn:

// cap nhap trogn so giua input & hidden layer

for (int i = 0; i < numberOfHiddens; i++)

{

for (int j = 0; j < numberOfInputs+1; j++)

{

inputToHiddenWeights[j][i] += learningRate * delta_hidden[i] * inputs[j]; }

}

Trang 13

III.4 Một số hình ảnh demo của ứng dụng

Hình 7: Input với hai cổng AND Hình 6: Khởi tạo mạng

Trang 14

Hình 8: Kết quả với hai cổng AND

Hình 9: Input với 4 cổng NAND

Trang 15

Hình 10: Kết quả với 4 cổng NAND

Ngày đăng: 12/04/2015, 14:12

HÌNH ẢNH LIÊN QUAN

Hình 2: Mạng nơron nhân tạo - BÁO CÁO ARTIFICAL NEURAL NETWORKS ỨNG DỤNG THUẬT GIẢI LAN TRUYỀN NGƢỢC VÀO MỘT SỐ CỔNG LOGIC
Hình 2 Mạng nơron nhân tạo (Trang 3)
Hình 1: Mạng nơron thần kinh - BÁO CÁO ARTIFICAL NEURAL NETWORKS ỨNG DỤNG THUẬT GIẢI LAN TRUYỀN NGƢỢC VÀO MỘT SỐ CỔNG LOGIC
Hình 1 Mạng nơron thần kinh (Trang 3)
Hình 3: Sơ đồ - BÁO CÁO ARTIFICAL NEURAL NETWORKS ỨNG DỤNG THUẬT GIẢI LAN TRUYỀN NGƢỢC VÀO MỘT SỐ CỔNG LOGIC
Hình 3 Sơ đồ (Trang 4)
Hình 4: Mạng nơron nhiều lớp - BÁO CÁO ARTIFICAL NEURAL NETWORKS ỨNG DỤNG THUẬT GIẢI LAN TRUYỀN NGƢỢC VÀO MỘT SỐ CỔNG LOGIC
Hình 4 Mạng nơron nhiều lớp (Trang 6)
Hình 5: Giao diện các chức năng chính - BÁO CÁO ARTIFICAL NEURAL NETWORKS ỨNG DỤNG THUẬT GIẢI LAN TRUYỀN NGƢỢC VÀO MỘT SỐ CỔNG LOGIC
Hình 5 Giao diện các chức năng chính (Trang 10)
Hình 7: Input với hai cổng AND Hình 6: Khởi tạo mạng - BÁO CÁO ARTIFICAL NEURAL NETWORKS ỨNG DỤNG THUẬT GIẢI LAN TRUYỀN NGƢỢC VÀO MỘT SỐ CỔNG LOGIC
Hình 7 Input với hai cổng AND Hình 6: Khởi tạo mạng (Trang 13)
Hình 9: Input với 4 cổng NAND - BÁO CÁO ARTIFICAL NEURAL NETWORKS ỨNG DỤNG THUẬT GIẢI LAN TRUYỀN NGƢỢC VÀO MỘT SỐ CỔNG LOGIC
Hình 9 Input với 4 cổng NAND (Trang 14)
Hình 8: Kết quả với hai cổng AND - BÁO CÁO ARTIFICAL NEURAL NETWORKS ỨNG DỤNG THUẬT GIẢI LAN TRUYỀN NGƢỢC VÀO MỘT SỐ CỔNG LOGIC
Hình 8 Kết quả với hai cổng AND (Trang 14)
Hình 10: Kết quả với 4 cổng NAND - BÁO CÁO ARTIFICAL NEURAL NETWORKS ỨNG DỤNG THUẬT GIẢI LAN TRUYỀN NGƢỢC VÀO MỘT SỐ CỔNG LOGIC
Hình 10 Kết quả với 4 cổng NAND (Trang 15)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w