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

Tìm hiểu và nghiên cứu các tài liệu lý thuyết liên quan tới chương trình mô phỏng hoạt động của mạng 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 (444.31 KB, 26 trang )

Báo cáo Đồ án môn Máy Học
LỜI CẢM ƠN
Lời đầu tiên chúng em xin gửi lời cảm ơn đến Cô Nguyễn Thị Thu Hà người
đã cung cấp tài liệu và hướng dẫn tận tình chúng em trong suốt quá trình thực
hiện bài tập lớn.
Chúng em cũng xin gửi lời cảm ơn tới toàn thể các Thầy, Cô, cán bộ - công
nhân viên trong Trường Đại Học Điện Lực những người đã dạy bảo em trong
suốt những năm học qua tại mái trường than yêu. Đặc biệt là các Thầy, Cô
trong khoa CNTT những người mang đến cho chúng em những nguồn tri thức
quý báu và những lời khuyên bổ ích để giúp chúng em có thêm hành trang
bước vào cuộc sống.
Đồ án môn học là cơ hội để chúng em áp dụng, tổng kết những kiến thức mà mình
học hỏi, đồng thời rút ra những kinh nghiệm thực tế quý giá trong suốt quá trình
thực hiện đề tài.
Và cuối cùng em xin gửi lời cảm ơn tới bố mẹ, anh chị của em. Những người
luôn miệt mài bên cạnh em, giúp đỡ, chăm lo và an ủi em, giành cho em những
tình cảm đặc biệt.
Kính chúc thầy cô mạnh khỏe, hạnh phúc .
Hà Nội, tháng 12 năm 2011.
Nhóm sinh viên : Nguyễn Trọng Thắng
Bùi Thanh Tân
Hoàng Tùng
Sinh viên thực hiện: Nguyễn Trọng Thắng, Bùi Thanh Tân, Hoàng Tùng
Giảng viên hướng dẫn: Th.S Nguyễn Thị Thu Hà Page 1
Báo cáo Đồ án môn Máy Học
TÓM TẮT NỘI DUNG
Bao gồm các giai đoạn chính sau:
Tìm hiểu đề tài
Tìm hiểu và nghiên cứu các tài liệu lý thuyết liên quan tới chương trình mô phỏng
hoạt động của mạng neural.
Xây dựng và cài đặt chương trình.


Kiểm tra và viết báo cáo.
Mục tiêu của đề tài
Tìm hiểu lý thuyết mạng neural, nghiên cứ cơ chế, phương thức hoạt động
của mạng neural và xây dựng chương trình mô phỏng hoạt động của mạng neural.
Cấu trúc của đề tài
Cấu trúc của đề tài gồm có 3 chương :
Chương 1. Tổng quan về mạng neural
Chương 2. Phương thức hoạt động của mạng neural.
Chương 3 .Chương trình mô phỏng hoạt động của mạng neural.
Sinh viên thực hiện: Nguyễn Trọng Thắng, Bùi Thanh Tân, Hoàng Tùng
Giảng viên hướng dẫn: Th.S Nguyễn Thị Thu Hà Page 2
Báo cáo Đồ án môn Máy Học
MỤC LỤC
DANH MỤC HÌNH VẼ
Hình 1.1. Đơn vị xử lý (Processing unit)
Hình 2.1. Mô hình mạng Neural sinh học
Hình 2.2. Sự liên kết các Neural sinh học
Hình 2.3. Mô hình một mạng Neural nhân tạo
Hình 2.4. Đồ thị hàm truyền
Hình 2.5. Mô hình mạng Neural ba lớp
Hình 2.6: Mạng neural một lớp
Hình 2.7. Mạng neural nhiều lớp.
Hình 2.8. Cấu trúc mạng Hopfield
Hình 2.9. Cấu trúc của mảng BAM
Hình 3.1. Form tổng thể chương trình
Hình 3.2. Mẫu file exel ghi tọa độ điểm neural đi qua
Sinh viên thực hiện: Nguyễn Trọng Thắng, Bùi Thanh Tân, Hoàng Tùng
Giảng viên hướng dẫn: Th.S Nguyễn Thị Thu Hà Page 3
Báo cáo Đồ án môn Máy Học
LỜI NÓI ĐẦU

Hiện nay nước ta đang trong giai đoạn tiến hành công nghiệp hóa hiện đại
hóa. Công nghệ thông tin và là một trong những nghành mũi nhọn.
Việc phát minh ra những con rô bốt thông minh hay những con chip siêu
nhỏ có thể điều khiển được một bộ máy như tòa nhà, càng cho chúng ta thấy sự
phát triển vượt bậc của nghành công nghệ thông tin. Thật vậy. từ lâu con người đã
phát minh ra chiếc máy tính có khả năng thực hiện rất nhiều phép tính trên giây.
Ngày nay thì những sản phẩm đó ngày càng hoàn thiện và đạt tới đỉnh cao của
công nghệ.
Tuy nhiên, một máy tính, dù có mạnh đến đâu chăng nữa, đều phải làm việc theo
một chương trình chính xác đã được hoạch định trước bởi các chuyên gia. Trong
khi đó con người làm việc bằng cách học tập và rèn luyện. Trong khi làm việc con
người có khả năng liên tưởng, kết nối sự việc này với sự việc khác, và quan trọng
hơn hết, họ có thể sáng tạo.
Từ lâu các nhà khoa học đã nhận thấy những ưu điểm ấy của bộ óc con người và
tìm cách bắt chước để thực hiện những máy tính có khả năng học tập, nhận dạng và
phân loại. Các mạng neural nhân tạo (Artificial Neural Network, ANN) đã ra đời
từ những nỗ lực đó. ANN là một lãnh vực nghiên cứu rộng lớn và chỉ mới phát
triển mạnh khoảng 15 năm gần đây thôi.
Mạng Neural nhân tạo (Artificial Neural Network- ANN) là một mô phỏng
xử lý thông tin, được nghiên cứu ra từ hệ thống thần kinh của sinh vật, giống như
bộ não để xử lý thông tin. Nó bao gồm số lượng lớn các mối gắn kết cấp cao để xử
lý các yếu tố làm việc trong mối liên hệ giải quyết vấn đề rõ ràng. ANNs giống
như con người, được học bởi kinh nghiệm, lưu những kinh nghiệm hiểu biết và sử
dụng trong những tình huống phù hợp.
Các ứng dụng của mạng Neural được sử dụng trong rất nhiều lĩnh vực như điện,
điện tử, kinh tế, quân sự… để giải quyết các bài toán có độ phức tạp và đòi hỏi có
độ chính xác cao như điều khiển tự động, khai phá dữ liệu, nhận dạng… Việc ứng
dụng mạng Neural trong thực tế phục thuộc thuộc rất nhiều vào cơ chế hoạt động
Sinh viên thực hiện: Nguyễn Trọng Thắng, Bùi Thanh Tân, Hoàng Tùng
Giảng viên hướng dẫn: Th.S Nguyễn Thị Thu Hà Page 4

Báo cáo Đồ án môn Máy Học
mạng Neural. Trong nội dung đề tài này chúng em chủ yếu tập trung vào nghiên
cứu các tác nhân ảnh hưởng đến hoạt động của mạng Neural và mô phỏng quá
trình hoạt động của mạng Neural.
CHƯƠNG I. TỔNG QUAN VỀ MẠNG NEURAL
1.1. Lịch sử phát triển mạng neural
Chúng ta sẽ tìm hiểu lịch sử phát triển của mạng neural nhân tạo qua các mốc thời
gian hình thành:
- Cuối TK 19, sự phát triển mạng neural chủ yếu chỉ là những công việc có sự
tham gia của cả ba ngành Vật lý học, Tâm lý học và Thần kinh học, bởi các
nhà khoa học như Hermann von Hemholtz, Ernst Mach, Ivan Pavlov. Các
công trình nghiên cứu của họ chủ yếu đi sâu vào các lý thuyết tổng quát về
HỌC (Learning), NHÌN (vision) và LẬP LUẬN (conditioning) và không
hề đưa ra những mô hình toán học cụ thể mô tả hoạt động của các Neural.
- Mọi chuyện thực sự bắt đầu vào những năm 1940 với công trình của Warren
McCulloch và Walter Pitts. Họ chỉ ra rằng về nguyên tắc, mạng của các
Neural nhân tạo có thể tính toán bất kỳ một hàm số học hay logic nào.
- Tiếp theo hai người là Donald Hebb, ông đã phát biểu rằng việc thuyết lập
luận cổ điển (classical conditioning) (như Pavlov đưa ra) là hiện thực bởi do
các thuộc tính của từng Neural riêng biệt. Ông cũng nêu ra một phương pháp
học của các Neural nhân tạo.
- Ứng dụng thực nghiệm đầu tiên của các Neural nhân tạo có được vào cuối
những năm 50 cùng với phát minh của mạng nhận thức (perceptron network)
và luật học tương ứng bởi Frank Rosenblatt. Mạng này có khả năng nhận
dạng các mẫu. Điều này đã mở ra rất nhiều hy vọng cho việc nghiên cứu
mạng Neural. Tuy nhiên nó có hạn chế là chỉ có thể giải quyết một số lớp
hữu hạn các bài toán.
- Cùng thời gian đó, Bernard Widrow và Ted Hoff đã đưa ra một thuật toán
học mới và sử dụng nó để huấn luyện cho các mạng Neural tuyến tính thích
nghi, mạng có cấu trúc và chức năng tương tự như mạng của Rosenblatt.

Luật học Widrow-Hoff vẫn còn được sử dụng cho đến nay.
- Tuy nhiên cả Rosenblatt và Widrow-Hoff đều cùng vấp phải một vấn đề do
Marvin Minsky và Seymour Papert phát hiện ra, đó là các mạng nhận thức
chỉ có khả năng giải quyết các bài toán khả phân tuyến tính. Họ cố gắng cải
Sinh viên thực hiện: Nguyễn Trọng Thắng, Bùi Thanh Tân, Hoàng Tùng
Giảng viên hướng dẫn: Th.S Nguyễn Thị Thu Hà Page 5
Báo cáo Đồ án môn Máy Học
tiến luật học và mạng để có thể vượt qua được hạn chế này nhưng họ đã
không thành công trong việc cải tiến luật học để có thể huấn luyện được các
mạng có cấu trúc phức tạp hơn.
- Do những kết quả của Minsky-Papert nên việc nghiên cứu về mạng Neural
gần như bị đình lại trong suốt một thập kỷ do nguyên nhân là không có được
các máy tính đủ mạnh để có thể thực nghiệm.
- Mặc dù vậy, cũng có một vài phát kiến quan trọng vào những năm 70. Năm
1972, Teuvo Kohonen và James Anderson độc lập nhau phát triển một loại
mạng mới có thể hoạt động như một bộ nhớ. Stephen Grossberg cũng rất
tích cực trong việc khảo sát các mạng tự tổ chức (Self organizing networks).
- Vào những năm 80, việc nghiên cứu mạng Neural phát triển rất mạnh mẽ
cùng với sự ra đời của máy tính. Có hai khái niệm mới liên quan đến sự hồi
sinh này, đó là:
o Việc sử dụng các phương pháp thống kê để giải thích hoạt động của một
lớp các mạng hồi quy (recurrent networks) có thể được dùng như bộ nhớ
liên hợp (associative memory) trong công trình của nhà vật lý học Johh
Hopfield.
o Sự ra đời của thuật toán lan truyền ngược (back-propagation) để luyện các
mạng nhiều lớp được một vài nhà nghiên cứu độc lập tìm ra như: David
Rumelhart, James McCelland Đó cũng là câu trả lời cho Minsky-Papert.
1.2. Thành phần cấu thành mạng neural
Bộ não con người chứa khoảng 1011 các phần tử liên kết chặt chẽ với nhau
(khoảng 104 liên kết đối với mỗi phần tử) gọi là các Neural. Dưới con mắt của

những người làm tin học, một Neural được cấu tạo bởi các thành phần: tế bào hình
cây (dendrite) - tế bào thân (cell body) – và sợi trục thần kinh (axon). Tế bào hình
cây có nhiệm vụ mang các tín hiệu điện tới tế bào thân, tế bào thân sẽ thực hiện
gộp (Sum) và phân ngưỡng (Thresholds) các tín hiệu đến. Sợi trục thần kinh làm
nhiệm vụ đưa tín hiệu từ tế bào thân ra ngoài.
Điểm tiếp xúc giữa một sợi trục thần kinh của Neural này và tế bào hình cây
của một Neural khác được gọi là khớp thần kinh (synapse). Sự sắp xếp của các
Neural và mức độ mạnh yếu của các khớp thần kinh được quyết định bởi các quá
trình hóa học phức tạp, sẽ thiết lập chức năng của mạng Neural.
Một vài Neural có sẵn từ khi sinh ra, các phần khác được phát triển thông qua
việc học, ở đó có sự thiết lập các liên kết mới và loại bỏ các liên kết cũ.
Sinh viên thực hiện: Nguyễn Trọng Thắng, Bùi Thanh Tân, Hoàng Tùng
Giảng viên hướng dẫn: Th.S Nguyễn Thị Thu Hà Page 6
Báo cáo Đồ án môn Máy Học
Cấu trúc của mạng Neural luôn luôn phát triển và thay đổi. Các thay đổi sau này
có khuynh hướng bao gồm chủ yếu là việc làm tăng hay giảm độ mạnh của các mối
liên kết thông qua các khớp thần kinh.
Mạng Neural nhân tạo không tiếp cận đến sự phức tạp của bộ não. Mặc dù vậy,
có hai sự tương quan cơ bản giữa mạng Neural nhân tạo và sinh học. Thứ nhất, cấu
trúc khối tạo thành chúng đều là các thiết bị tính toán đơn giản (mạng Neural
nhân tạo đơn giản hơn nhiều) được liên kết chặt chẽ với nhau. Thứ hai, các liên
kết giữa các Neural quyết định chức năng của mạng.
Cần chú ý rằng mặc dù mạng Neural sinh học hoạt động rất chậm so với các
linh kiện điện tử (10-3 giây so với 10-9 giây), nhưng bộ não có khả năng thực hiện
nhiều công việc nhanh hơn nhiều so với các máy tính thông thường. Đó một phần
là do cấu trúc song song của mạng Neural sinh học: toàn bộ các Neural hoạt động
một cách đồng thời tại một thời điểm.
Mạng Neural, đôi khi được xem như là các mô hình liên kết (connectionist
models), là các mô hình phân bố song song (parallel-distributed models) có các đặc
trưng phân biệt sau:

- Tập các đơn vị xử lý.
- Trạng thái kích hoạt hay là đầu ra của đơn vị xử lý.
- Liên kết giữa các đơn vị. Xét tổng quát, mỗi liên kết được định nghĩa bởi một
trọng số wjk cho ta biết hiệu ứng mà tín hiệu của đơn vị j có trên đơn vị k.
- Một luật lan truyền quyết định cách tính tín hiệu ra của từng đơn vị từ đầu
vào của nó;
- Một hàm kích hoạt, hay hàm chuyển (activation function, transfer function),
xác định mức độ kích hoạt khác dựa trên mức độ kích hoạt hiện tại;
- Một đơn vị điều chỉnh (độ lệch) (bias, offset) của mỗi đơn vị;
- Phương pháp thu thập thông tin (luật học - learning rule);
- Môi trường hệ thống có thể hoạt động.
1.3. Đơn vị xử lý
Một đơn vị xử lý (hình vẽ), cũng được gọi là một Neural hay một nút (node),
thực hiện một công việc rất đơn giản: nó nhận tín hiệu vào từ các đơn vị phía trước
hay một nguồn bên ngoài và sử dụng chúng để tính tín hiệu ra sẽ được lan truyền
sang các đơn vị khác.
Sinh viên thực hiện: Nguyễn Trọng Thắng, Bùi Thanh Tân, Hoàng Tùng
Giảng viên hướng dẫn: Th.S Nguyễn Thị Thu Hà Page 7
Báo cáo Đồ án môn Máy Học
Hình 1.1. Đơn vị xử lý (Processing unit)
trong đó:
xi : các đầu vào
wji : các trọng số tương ứng với các đầu vào
θj : độ lệch (bias)
aj : đầu vào mạng (net-input)
zj : đầu ra của Neural
g(x): hàm chuyển (hàm kích hoạt).
Trong một mạng Neural có ba kiểu đơn vị:
Các đơn vị đầu vào (Input units), nhận tín hiệu từ bên ngoài.
Các đơn vị đầu ra (Output units), gửi dữ liệu ra bên ngoài.

Các đơn vị ẩn (Hidden units), tín hiệu vào (input) và ra (output) của nó nằm
trong mạng.
Mỗi đơn vị j có thể có một hoặc nhiều đầu vào: x0, x1, x2, … xn, nhưng chỉ có
một đầu ra zj.
Một đầu vào tới một đơn vị có thể là dữ liệu từ bên ngoài mạng, hoặc đầu ra của
một đơn vị khác, hoặc là đầu ra của chính nó.
1.4. Ứng dụng
Cùng với thời gian phát triển và hình thành thì mạng neural nhân tạo đã có
rất nhiều ứng dụng trong nhiều lĩnh vực:
Sinh viên thực hiện: Nguyễn Trọng Thắng, Bùi Thanh Tân, Hoàng Tùng
Giảng viên hướng dẫn: Th.S Nguyễn Thị Thu Hà Page 8
Báo cáo Đồ án môn Máy Học
Dùng mạng neural nhân tạo (Artificial neural networks) để điều khiển thiết bị bằng
giọng nói tiếng Việt. Phép biến đổi Fourier thời gian ngắn – STSF (Short time
Fourier Transform) được áp dụng để trích các đặc trưng cơ bản của tín hiệu tiếng
nói. Một mạng neural nhân tạo được huấn luyện để nhận dạng tiếng nói Việt của
bất kỳ người nào, khi họ đọc một trong 4 từ lệnh ‘Trái’, ‘Phải’, ‘Tới’, ‘Lui’ (áp
dụng để điều khiển robot). Kết quả nghiên cứu được kiểm chứng qua việc điều
khiển từ xa một xe vô tuyến. Độ chính xác được ước lượng xấp xĩ 90% và khả
năng mở rộng tập lệnh là rất cao.
Aerospace: Phi công tự động, giả lập đường bay, các hệ thống điều khiển lái máy
bay, bộ phát hiện lỗi.
Automotive: Các hệ thống dẫn đường tự động cho ô tô, các bộ phân tích hoạt động
của xe.
Banking: Bộ đọc séc và các tài liệu, tính tiền của thẻ tín dụng.
Defense: Định vị - phát hiện vũ khí, dò mục tiêu, phát hiện đối tượng, nhận dạng
nét mặt, các bộ cảm biến thế hệ mới, xử lý ảnh radar
Electronics: Dự đoán mã tuần tự, sơ đồ chip IC, điều khiển tiến trình, phân tích
nguyên nhân hỏng chip, nhận dạng tiếng nói, mô hình phi tuyến.
Financial: Định giá bất động sản, cho vay, kiểm tra tài sản cầm cố, đánh giá mức

độ hợp tác, phân tích đường tín dụng, chương trình thương mại qua giấy tờ, phân
tích tài chính liên doanh, dự báo tỷ giá tiền tệ.
Sinh viên thực hiện: Nguyễn Trọng Thắng, Bùi Thanh Tân, Hoàng Tùng
Giảng viên hướng dẫn: Th.S Nguyễn Thị Thu Hà Page 9
Báo cáo Đồ án môn Máy Học
CHƯƠNG II. PHƯƠNG THỨC HOẠT ĐỘNG CỦA MẠNG NEURAL.
2.1. Mạng neural sinh học
Trong bộ não con người có vô số các neural, liên kết lại với nhau tạo thành mạng
neural.
Mỗi một neural bao gồm 4 thành phần: Dendrites, soma, axon, và synapses.
Dendrites: là phần nhận tín hiệu đầu vào.
Soma: là hạt nhân.
Axon: là phần dẫn ra tín hiệu xử lý.
Synapses: là đường tín hiệu điện hóa giao tiếp giữa các Neural.
Kiến trúc cơ sở này của bộ não con người có một vài đặc tính chung. Một cách
tổng quát, thì một Neural sinh học nhận đầu vào từ các nguồn khác nhau, kết hợp
chúng tại với nhau, thực thi tổ hợp phi tuyến chúng để cho ra kết quả cuối cùng ở
đầu ra. Hình 2 chỉ ra mối quan hệ giữa bốn phần tử của một Neural sinh học.
Hình 2.1. Mô hình mạng Neural sinh học
Một Neural sinh học chỉ có một số chức năng cơ bản như vậy, ta nhận thấy khả
năng xử lý thông tin của nó là rất yếu. Để có được khả năng xử lý thông tin hoàn
hảo như bộ não con người, thì các Neural phải kết hợp và trao đổi thông tin với
nhau. Ta hình dung sơ đồ liên kết, và trao đổi thông tin giữa hai Neural như hình 3
Sinh viên thực hiện: Nguyễn Trọng Thắng, Bùi Thanh Tân, Hoàng Tùng
Giảng viên hướng dẫn: Th.S Nguyễn Thị Thu Hà Page 10
Báo cáo Đồ án môn Máy Học
Hình 2.2. Sự liên kết các Neural sinh học
2.2. Mô hình mạng neural nhân tạo
Mạng nơ ron nhân tạo là một mô phỏng xử lý thông tin, được nghiên cứu ra từ
hệ thống thần kinh của sinh vật, giống như bộ não để xử lý thông tin. Nó bao gồm

số lượng lớn các mối gắn kết cấp cao để xử lý các yếu tố làm việc trong mối liên
hệ giải quyết vấn đề rõ ràng. ANNs giống như con người, được học bởi kinh
nghiệm, lưu những kinh nghiệm hiểu biết và sử dụng trong những tình huống phù
hợp.
Đầu tiên ANN được giới thiệu năm 1943 bởi nhà thần kinh học Warren
McCulloch và nhà logic học Walter Pits. Nhưng với những kỹ thuật trong thời gian
này chưa cho phép họ nghiên cứu được nhiều. Những năm gần đây mô phỏng
ANN xuất hiện và phát triển. Các nghiên cứu ứng dụng đã được thực hiện trong
các ngành: điện, điện tử, kỹ thuật chế tạo, y học, quân sự, kinh tế và mới nhất là
các nghiên cứu ứng dụng trong lĩnh vực quản lý dự án xây dựng. Tại Việt Nam
việc nghiên cứu ứng dụng ANN vào quản lý xây dựng chỉ mới bắt đầu trong vài
năm gần đây và cần được phát triển.
Cấu trúc mạng neural: Mỗi neural (nút) là một đơn vị xử lý thông tin của mạng
neural, là yếu tố cơ bản để cấu tạo nên mạng neural:
Sinh viên thực hiện: Nguyễn Trọng Thắng, Bùi Thanh Tân, Hoàng Tùng
Giảng viên hướng dẫn: Th.S Nguyễn Thị Thu Hà Page 11
Báo cáo Đồ án môn Máy Học
Hình 2.3. Mô hình một mạng Neural nhân tạo
Các thành phần cơ bản:
X1,X2,….,Xm: Các tín hiệu Input.
Wpk: Trọng số của từng input.
f(.): Hàm hoạt động.
Yk: Kết xuất của neural.
Hàm tổng: Thường dùng để tính tổng của tích các đầu vào với trọng số liên kết của
nó.
Về mặt toán học, cấu trúc của một Neural i được mô tả bằng cặp biểu thức sau:

)(
iii
netfy

θ
−=

j
n
j
iji
xwnet

=
=
1
Trong đó: x
1
, x
2
,…,x
m
là các tín hiệu đầu vào, còn w
i1
, w
i2
,…,w
im
là các trọng số
kết nối của Neural thứ i, net
i
là hàm tổng, f là hàm truyền,
i
θ

là một ngưỡng, y
i

tín hiệu đầu ra của Neural.
Như vậy, tương tự như Neural sinh học, Neural nhân tạo cũng nhận các tín hiệu
đầu vào, xử lý (nhân các tín hiệu này với trọng số liên kết, tính tổng các tích thu
Sinh viên thực hiện: Nguyễn Trọng Thắng, Bùi Thanh Tân, Hoàng Tùng
Giảng viên hướng dẫn: Th.S Nguyễn Thị Thu Hà Page 12
Báo cáo Đồ án môn Máy Học
được rồi gửi kết quả đến hàm truyền), và cho một tín hiệu đầu ra (là kết quả của
hàm truyền).
Hàm truyền có thể có các dạng sau:
Hàm bước



<

=
00
01
xkhi
xkhi
y
(1.6)
Hàm giới hạn chặt (hay còn gọi là hàm bước)



<−


==
01
01
)sgn(
xkhi
xkhi
xy
(1.7)
Hàm bậc thang





<
≤≤
>
==
00
10
11
)sgn(
xkhi
xkhix
xkhi
xy
(1.8)
Hàm ngưỡng đơn cực
x

λ

+
=
e
y
1
1
với λ>0 (1.9)
Hàm ngưỡng hai cực
1
1
2

+
=
− x
λ
e
y
với λ>0 (1.10)
Đồ thị các dạng hàm truyền được biểu diễn như sau:
Sinh viên thực hiện: Nguyễn Trọng Thắng, Bùi Thanh Tân, Hoàng Tùng
Giảng viên hướng dẫn: Th.S Nguyễn Thị Thu Hà Page 13
Báo cáo Đồ án môn Máy Học
Hình 2.4. Đồ thị hàm truyền
2.3. Nguyên lý hoạt động
Dựa trên những phương pháp xây dựng Neural đã trình bày ở mục trên, ta có
thể hình dung mạng Neural như là một hệ truyền đạt và xử lý tín hiệu. Đặc tính
truyền đạt của Neural phần lớn là đặc tính truyền đạt tĩnh.

Khi liên kết các đầu vào/ra của nhiều Neural với nhau, ta thu được một mạng
Neural, việc ghép nối các Neural trong mạng với nhau có thể là theo một nguyên
tắc bất kỳ. Vì mạng Neural là một hệ truyền đạt và xử lý tín hiệu, nên có thể phân
biệt các loại Neural khác nhau, các Neural có đầu vào nhận thông tin từ môi trường
bên ngoài khác với các Neural có đầu vào được nối với các Neural khác trong
mạng, chúng được phân biệt với nhau qua vector hàm trọng số ở đầu vào W.
Nguyên lý cấu tạo của mạng Neural bao gồm nhiều lớp, mỗi lớp bao gồm nhiều
Neural có cùng chức năng trong mạng. Hình1.5 là mô hình hoạt động của một
mạng Neural 3 lớp với 8 phần tử Neural. Mạng có ba đầu vào là x
1
, x
2
, x
3
và hai
đầu ra y
1
, y
2
. Các tín hiệu đầu vào được đưa đến 3 Neural đầu vào, 3 Neural này
làm thành lớp đầu vào của mạng. Các Neural trong lớp này được gọi là Neural đầu
vào. Đầu ra của các Neural này được đưa đến đầu vào của 3 Neural tiếp theo, 3
Neural này không trực tiếp tiếp xúc với môi trường bên ngoài mà làm thành lớp ẩn,
hay còn gọi là lớp trung gian. Các Neural trong lớp này có tên là Neural nội hay
Neural ẩn. Đầu ra của các Neural này được đưa đến 2 Neural đưa tín hiệu ra môi
trường bên ngoài. Các Neural trong lớp đầu ra này được gọi là Neural đầu ra.
Sinh viên thực hiện: Nguyễn Trọng Thắng, Bùi Thanh Tân, Hoàng Tùng
Giảng viên hướng dẫn: Th.S Nguyễn Thị Thu Hà Page 14
Báo cáo Đồ án môn Máy Học
Hình 2.5. Mô hình mạng Neural ba lớp

Mạng Neural được xây dựng như trên là mạng gồm 3 lớp mắc nối tiếp nhau đi
từ đầu vào đến đầu ra. Trong mạng không tồn tại bất kỳ một mạch hồi tiếp nào.
Một mạng Neural có cấu trúc như vậy gọi là mạng một hướng hay mạng truyền
thẳng một hướng (Feed forward network), và có cấu trúc mạng ghép nối hoàn toàn
(vì bất cứ một Neural nào trong mạng cũng được nối với một hoặc vài Neural
khác). Mạng Neural bao gồm một hay nhiều lớp trung gian được gọi là mạng
Multilayer Perceptrons) (MLP-Network).
Mạng Neural khi mới được hình thành thì chưa có tri thức, tri thức của mạng sẽ
được hình thành dần dần sau một quá trình học. Mạng Neural được học bằng cách
đưa vào những kích thích, và mạng hình thành những đáp ứng tương ứng, những
đáp ứng tương ứng phù hợp với từng loại kích thích sẽ được lưu trữ. Giai đoạn này
được gọi là giai đoạn học của mạng. Khi đã hình thành tri thức mạng, mạng có thể
giải quyết các vấn đề một cách đúng đắn. Đó có thể là vấn đề ứng dụng rất khác
nhau, được giải quyết chủ yếu dựa trên sự tổ chức hợp nhất giữa các thông tin đầu
vào của mạng và các đáp ứng đầu ra.
Nếu nhiệm vụ của một mạng là hoàn chỉnh hoặc hiệu chỉnh các thông tin thu
được không đầy đủ hoặc bị tác động của nhiễu. Mạng Neural kiểu này được ứng
dụng trong lĩnh vực hoàn thiện mẫu, trong đó có một ứng dụng cụ thể là nhận dạng
chữ viết.
Nhiệm vụ tổng quát của một mạng Neural là lưu giữ động các thông tin. Dạng
thông tin lưu giữ này chính là quan hệ giữa các thông tin đầu vào và các đáp ứng
Sinh viên thực hiện: Nguyễn Trọng Thắng, Bùi Thanh Tân, Hoàng Tùng
Giảng viên hướng dẫn: Th.S Nguyễn Thị Thu Hà Page 15
Báo cáo Đồ án môn Máy Học
đầu ra tương ứng, để khi có một kích thích bất kỳ tác động vào mạng, mạng có khả
năng suy diễn và đưa ra một đáp ứng phù hợp. Đây chính là chức năng nhận dạng
theo mẫu của mạng Neural. Để thực hiện chức năng này, mạng Neural đóng vai trò
như một bộ phận tổ chức các nhóm thông tin đầu vào, và tương ứng với mỗi nhóm
là một đáp ứng đầu ra phù hợp. Như vậy, một nhóm bao gồm một loại thông tin
đầu vào và một đáp ứng đầu ra. Các nhóm có thể được hình thành trong quá trình

học, và cũng có thể không hình thành trong quá trình học.
Hình 2.5 là một số liên kết đặc thù của mạng Neural. Neural được vẽ là các
vòng tròn xem như một tế bào thần kinh, chúng có các mối liên hệ đến các
Neural khác nhờ các trọng số liên kết. Tập hợp các trọng số liên kết này sẽ lập
thành các ma trận trọng số tương ứng.
2.4. Phân loại
2.4.1. Mạng dẫn tiến một lớp
Đây là cấu trúc mạng neural đơn giản nhất. Mạng neural này chỉ gồm một lớp
xuất, không có lớp ấn.
Mỗi một Neural có thể phối hợp với các Neural khác tạo thành một lớp các trọng
số. Mạng một lớp truyền thẳng như hình 2.7.a. Một lớp Neural là một nhóm các
Neural mà chúng đều có cùng trọng số, nhận cùng một tín hiệu đầu vào đồng thời.
Trong ma trận trọng số, các hàng là thể hiện Neural, hàng thứ j có thể đặt nhãn như
một vector w
j
của Neural thứ j gồm m trọng số w
ji
. Các trọng số trong cùng một cột
thứ j (j=1,2, ,n) đồng thời cùng nhận một tín hiệu đầu vào x
j
.
w
j
= [w
j1
, w
j2
, , w
jm
]

Tại cùng một thời điểm, vector đầu vào x = [x
1
, x
2
, , x
n
] có thể là một nguồn bên
ngoài là cảm biến hoặc thiết bị đo lường đưa tới mạng.
Sinh viên thực hiện: Nguyễn Trọng Thắng, Bùi Thanh Tân, Hoàng Tùng
Giảng viên hướng dẫn: Th.S Nguyễn Thị Thu Hà Page 16
Báo cáo Đồ án môn Máy Học

(a) Mạng truyền thẳng một lớp (b) Mạng hồi tiếp một lớp
Hình 2.6: Mạng neural một lớp
2.4.2. Mạng neural nhiều lớp
Mạng neural nhiều lớp có thể giải quyết các bài toán phi tuyến nhờ vào các lớp
ẩn. Các lớp ẩn này xen giữa các input bên ngoài và output của mạng. Càng nhiều
lớp ẩn thì khả năng mở rộng thông tin càng cao và xử lý tốt mạng có nhiều input và
output. Ngoài ra còn có mạng hồi quy và mạng Neural dạng lưới.
Mạng Neural nhiều có các lớp được phân chia thành 3 loại sau đây:
Lớp vào là lớp Neural đầu tiên nhận tín hiệu vào x
i
(i = 1, 2, , n). Mỗi tín hiệu
x
i
được đưa đến tất cả các Neural của lớp đầu vào. Thông thường, các Neural đầu
vào không làm biến đổi các tín hiệu vào x
i
, tức là chúng không có các trọng số
hoặc không có các loại hàm chuyển đổi nào, chúng chỉ đóng vai trò phân phối các

tín hiệu.
Lớp ẩn là lớp Neural sau lớp vào, chúng không trực tiếp liên hệ với thế giới bên
ngoài như các lớp Neural vào/ra.
Lớp ra là lớp Neural tạo ra các tín hiệu ra cuối cùng.
Sinh viên thực hiện: Nguyễn Trọng Thắng, Bùi Thanh Tân, Hoàng Tùng
Giảng viên hướng dẫn: Th.S Nguyễn Thị Thu Hà Page 17
Báo cáo Đồ án môn Máy Học
Hình 2.7. Mạng neural nhiều lớp.
2.4.3. Mạng neural hồi quy
Mạng Neural phản hồi có thể thực hiện đóng vòng được gọi là mạng Neural hồi
quy như hình 1.6d. Mạng Neural hồi quy có trọng số liên kết đối xứng như mạng
Hopfield, mạng luôn hội tụ về trạng thái ổn định (Hình 1.6.b). Mạng BAM thuộc
nhóm mạng Neural hồi quy, gồm 2 lớp liên kết 2 chiều, không được gắn với tín
hiệu vào/ra. Nghiên cứu mạng Neural hồi quy mà có trọng số liên kết không đối
xứng, thì sẽ gặp phải vấn đề phức tạp nhiều hơn so với mạng truyền thẳng và mạng
hồi quy có trọng số liên kết đối xứng.
2.4.4. Mạng neural Hopfield
Mạng Hopfield là mạng phản hồi một lớp, được chỉ ra trong hình 7.b. Cấu trúc
chi tiết của nó được thể hiện trong hình 8. Khi hoạt động với tín hiệu rời rạc, nó
được gọi là mạng Hopfield rời rạc, và cấu trúc của nó cũng được gọi là mạng hồi
quy.
Sinh viên thực hiện: Nguyễn Trọng Thắng, Bùi Thanh Tân, Hoàng Tùng
Giảng viên hướng dẫn: Th.S Nguyễn Thị Thu Hà Page 18
Báo cáo Đồ án môn Máy Học
Hình 2.8. Cấu trúc mạng Hopfield
Như mạng Hopfield đã vẽ ở trên, ta thấy nút có một đầu vào bên ngoài x
j

một giá trị ngưỡng
j

θ
(j = 1,2, n). Một điều quan trọng cần nói ở đây là mỗi nút
không có đường phản hồi về chính nó. Nút đầu ra thứ j được nối tới mỗi đầu vào
của nút khác qua trọng số w
ij
, với i

j, (i = 1,2, ,n), hay nói cách khác w
ii
= 0, (với
i = 1,2, ,n).
Một điều quan trọng nữa là trọng số của mạng Hopfield là đối xứng, tức là w
ij
=
w
ji
, (với i,j = 1,2, ,n). Khi đó, luật cập nhật cho mỗi nút mạng là như sau:
,sgn
1
)()1(











−+=


=
+
n
ij
j
i
k
jij
k
i
xywy
θ

i = 1,2, ,n (1.11)
Luật cập nhật trên được tính toán trong cách thức không đồng bộ. Điều này có
nghĩa là, với một thời gian cho trước, chỉ có một nút mạng cập nhật được đầu ra
của nó. Sự cập nhật tiếp theo trên một nút sẽ sử dụng chính những đầu ra đã được
cập nhật. Nói cách khác, dưới hình thức hoạt động không đồng bộ của mạng, mỗi
đầu ra được cập nhật độc lập.
Có sự khác biệt giữa luật cập nhật đồng bộ và luật cập nhật không đồng bộ.
Với luật cập nhật không đồng bộ thì sẽ chỉ có một trạng thái cân bằng của hệ (với
giá trị đầu đã được xác định trước). Trong khi đó, với luật cập nhật đồng bộ thì có
thể làm mạng hội tụ ở mỗi điểm cố định hoặc một vòng giới hạn.
2.4.5. Mạng BAM
Bao gồm hai lớp và được xem như là trường hợp mở rộng của mạng
Hopfield. Ở đây ta chỉ xét mạng rời rạc, vì nó đơn giản và dễ hiểu.
Sinh viên thực hiện: Nguyễn Trọng Thắng, Bùi Thanh Tân, Hoàng Tùng

Giảng viên hướng dẫn: Th.S Nguyễn Thị Thu Hà Page 19
Báo cáo Đồ án môn Máy Học
Hình 2.9. Cấu trúc của mảng BAM
Khi mạng Neural được tích cực với giá trị đầu vào của vector tại đầu vào của
một lớp, mạng sẽ có hai mẫu trạng thái ổn định, với mỗi mẫu tại đầu ra của nó là
một lớp. Tính động học của mạng thể hiện dưới dạng tác động qua lại giữa hai lớp.
Cụ thể hơn, giả sử một vector đầu vào x được cung cấp cho đầu vào của lớp Neural
y. Đầu vào được xử lý và truyền tới đầu ra của lớp y như sau:
y’ = a(wx) ;








=

jiji
xway
'
; với i = 1,2, ,n (1.12)
Ở đó a(.) là hàm truyền, vector y’ bây giờ lại nuôi trở lại lớp Neural X và tạo
nên đầu ra như sau:
x’ = a(w
T
y’);







=

=
n
i
iijj
ywax
1
; với j = 1,2, ,m (1.13)
Sau đó x’ nuôi trở lại đầu vào của lớp y và tạo ra hàm y’’ theo phương trình
(1.12). Quá trình này cứ tiếp tục, bao gồm các bước như sau:
y
(1)
= a(wx
(0)
) (truyền thẳng lần thứ nhất)
x
(2)
= a(w
(T)
y
(1)
) (truyền ngược lần thứ nhất)
y
(3)
= a(wx

(2)
) (truyền thẳng lần thứ hai)
x
(4)
= a(w
(T)
y
(3)
) (truyền ngược lần thứ hai) (1.14)

Sinh viên thực hiện: Nguyễn Trọng Thắng, Bùi Thanh Tân, Hoàng Tùng
Giảng viên hướng dẫn: Th.S Nguyễn Thị Thu Hà Page 20
Báo cáo Đồ án môn Máy Học
y
(k-1)
= a(wx
(k-2)
) (truyền thẳng lần thứ k/2)
x
(k)
= a(w
(T)
y
(k-1)
) (truyền ngược lần thứ k/2)
Chú ý rằng trạng thái cập nhật trong phương trình (1.14) là đồng bộ theo
phương trình (1.12) và (1.13). Trạng thái cập nhật cũng có thể không đồng bộ theo
phương trình (1.12) và (1.13) với các nút i, j được chọn tự do. Người ta đã chỉ ra
rằng, hệ thống ổn định cho cả hai chế độ đồng bộ và không đồng bộ. Tuy nhiên,
chế độ đồng bộ sẽ làm cho hệ thống hội tụ nhanh hơn nhiều.

Một số nghiên cứu ứng dụng ANN trong quản lý xây dựng
1. Florence Yean Yng (Singapore) và MinLiu (USA): Đã nghiên cứu “ứng
dụng Neural network để dự báo kế hoạch thực hiện xây dựng dự án ở Singapore”.
Theo nghiên cứu này tác giả đã thực hiện trên 11 phép đo, 65 nhân tố tác động đến
sự thành công của 33 dự án trước đây. Chỉ ra 6 phép đo có thể dự báo sự thành
công của kế hoạch thực hiện dự án với mức độ chính xác hợp lý: tầm quan trọng
dự án, tốc độ xây dựng, tốc độ giải quyết vấn đề khó khăn, sự luân phiên thay thế
công nhân nghỉ việc, chất lượng của hệ thống và thiết bị.
2. Về lĩnh vực dự toán chi phí cho một dự án: Tarek Hegazy và Amr Ayed đã
ứng dụng ANN để dự toán chi phí cho một dự án đường cao tốc.
3. Hoijat Adeli và Mingyang Wu dự toán giá bê tông cốt thép vỉa hè cho dự án
xây dựng đường.
4. Xishi Huang, Danny Ho, Jing Ren, Luiz F.Caprest đã ứng dụng Neural
Fuzzy phát triển mô hình COMOCO, trên cơ sở dữ liệu kinh nghiệm của các dự án
trước đây, mô hình này cho phép ước lượng được chi phí của các dự án khác lớn
hơn và được ứng dụng trong ước lượng chi phí của dự án công nghiệp.
5. Jason Portas và Simaan AbouRizk ứng dụng mô hình Neural network để
đánh giá khả năng sản xuất xây dựng.
6. Irem Dikmen và M. Talat Birgonul ứng dụng ANN để đánh giá thị trường
quốc tế trong quyết định thực hiện dự án, dựa trên các nhân tố của một dự án quốc
tế gồm: nguồn tiền, khối thị trường, sự thành công của nền kinh tế, kiểu hợp đồng,
hệ số rủi ro.
7. Hashem Al- Tabtabai ứng dụng ANN để xây dựng mô hình phân tích kinh
nghiệm và hệ thống dự báp cho dự án xây dựng. Trên cơ sở dữ liệu các dự án trước
Sinh viên thực hiện: Nguyễn Trọng Thắng, Bùi Thanh Tân, Hoàng Tùng
Giảng viên hướng dẫn: Th.S Nguyễn Thị Thu Hà Page 21
Báo cáo Đồ án môn Máy Học
đây về: tiến độ thực hiện của nhà thầu, dòng ngân lưu, vật liệu và thiết bị, thời tiết
và môi trường, phần trăm công việc hoàn thành, chất lượng, giá cả vật tư, thuế, bảo
hiểm để dự báo phần trăm thay đổi của kế hoạch, phần trăm thay đổi của chất

lượng, công nhân lao động sản xuất, thay đỏi mức lương lao động, thay đổi giá vật
tư, thay đổi chi phí đầu tư, thay đổi chi phí trong quá trình thực hiện dự án.
8. VK Gupta, JG Chen, MB Murtaza đã ứng dụng để phân loại các dự án xây
dựng công nghiệp, theo các biến quan hệ: vị trí xây dựng, lao động, vấn đề về tổ
chức, đặc điểm khu vực, rủi ro của dự án và môi trường.
Như vậy ứng dụng ANN trong quản lý dự án xây dựng cho phép giải quyết
và dự báo các vấn đề về chi phí, chất lượng, kế hoạch - tiến độ cũng nhưu tưu vấn
trong quyết định thực hiện dự án. Nhóm tác giả cũng đang thực hiện một nghiên
cứu về dự báo chi phí thực tế của dự án xây dựng bằng ứng dụng ANN và đang
xây dựng một phần mềm để áp dụng nghiên cứu nói trên vào thực tế Việt Nam. Hy
vọng trong tương lai sẽ có nhiều nhà nghiên cứu Việt Nam tiếp tục phát triển các
ứng dụng của ANN vào trong ngành xây dựng nói chung và lĩnh vực quản lý xây
dựng nói riêng.
CHƯƠNG III. CHƯƠNG TRÌNH MÔ PHỎNG HOẠT ĐỘNG MẠNG NEURAL
Sinh viên thực hiện: Nguyễn Trọng Thắng, Bùi Thanh Tân, Hoàng Tùng
Giảng viên hướng dẫn: Th.S Nguyễn Thị Thu Hà Page 22
Báo cáo Đồ án môn Máy Học
3.1. Giao diện chính của chương trình:
3.1.1 Form tổng thể của chương trình:
Hình 3.1. Form tổng thể chương trình
3.1.2 Mẫu file excel ghi tọa độ điểm của mạng neural đi qua
Hình 3.2. Mẫu file exel ghi tọa độ điểm neural đi qua
Sinh viên thực hiện: Nguyễn Trọng Thắng, Bùi Thanh Tân, Hoàng Tùng
Giảng viên hướng dẫn: Th.S Nguyễn Thị Thu Hà Page 23
Báo cáo Đồ án môn Máy Học
3.2. Công cụ sử dụng
Ngôn ngữ lập trình Sử dụng ngôn ngữ lập trình C# với công cụ lập trình Visual
Studio 2008.
3.3. Mô tả dữ liệu
• Đầu vào :

o Tập dữ liệu là file excel định dạng *.csv
o Các tác nhân, tác động và ảnh hưởng đến hoạt động của mạng Neural.
• Đầu ra : Mô phỏng hoạt động của mạng Neural đi qua các điểm đầu vào.
3.4. Kết quả thực nghiệm
• Biểu diễn tọa độ các điểm đầu vào (x, y) trên giao diện.
• Xử lý thông tin, gắn các tác nhân tác động lên hoạt động của mạng Neural
• Mô phỏng hình vẽ đường đi hoạt động của mạng Neural qua các điểm đầu
vào
• Hiển thị số lần lặp hiện tại trong quá trình hoạt động của mạng Neural do
các tác nhân tác động lên.
KẾT LUẬN
Sinh viên thực hiện: Nguyễn Trọng Thắng, Bùi Thanh Tân, Hoàng Tùng
Giảng viên hướng dẫn: Th.S Nguyễn Thị Thu Hà Page 24
Báo cáo Đồ án môn Máy Học
Mặc dù, đã cố gắng phân tích tìm hiểu đề tài nhưng do kiến thức còn hạn hẹp,
không tránh khỏi những thiếu xót.
Chúng em rất mong nhận được nhiều ý kiến đóng góp, góp ý về đề tài của thầy
cô và các bạn để chúng em rút ra được kinh nghiệm cũng như những kiến thức còn
chưa rõ, để cách tiếp cận có thể tốt hơn và để hoàn thiện hơn về mạng nơ ron.
Bài tập lớn của nhóm em tuy đã hoàn thành, và cũng đã đạt được những thành
công ban đầu:
Tìm hiểu sâu và rõ hơn về các khái niệm Neural và ứng dụng
Tiếp xúc và xử dụng những thuật đa dạng.
Cơ hội thực hành thực tế, xây dựng được chương trình cụ thể.
Tuy nhiên, vẫn còn một số hạn chế:
Mức độ tìm hiểu còn sơ sài, đơn giản, chưa mang đến tính hiệu quả cao để giải
quyết bài toán triệt để.
Chương trình xây dựng chưa có tính thực tế cao, chưa đáp ứng được các yêu cầu
trong thực tế.
Đề tài như lần thử sức với chúng em để có thêm những kinh nghiệm quý báu

trong quá trình học tập về Môn Máy Học.
Em xin chân thành cảm ơn Cô Nguyễn Thị Thu Hà đã giúp đỡ chúng em hoàn
thành bài tập này!
Hà Nội, tháng 12 năm 2011.
TÀI LIỆU THAM KHẢO
[1] Artificial Intelligence and cognitive science
2006, Nils J. Nilsson�
Stanford AI Lab
Sinh viên thực hiện: Nguyễn Trọng Thắng, Bùi Thanh Tân, Hoàng Tùng
Giảng viên hướng dẫn: Th.S Nguyễn Thị Thu Hà Page 25

×