TÓM TẮT NỘI DUNG Ước lượng chi phí đầu tư xây dựng chung cư trong giai đoạn thực hiện dự án đầu tư, đánh giá tài chánh cũng như lợi nhuận của dự án mạng lại là một vấn đề sống còn đối vớ
Trang 1PHAN VĂN KHOA
ƯỚC LƯỢNG CHI PHÍ ĐẦU TƯ XÂY DỰNG DỰ ÁN
CHUNG CƯ BẰNG NEURAL NETWORKS
CHUYÊN NGÀNH : CƠNG NGHỆ VÀ QUẢN LÝ XÂY DỰNG
MÃ NGÀNH : 60.58.90
LUẬN VĂN THẠC SĨ
TP HỒ CHÍ MINH, Tháng 7 năm 2006
Trang 2Tp.HCM, ngày ….tháng … năm 2006
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên : PHAN VĂN KHOA Phái : nam
Ngày, tháng, năm sinh : 22/05/1979 Nơi sinh: Huế
Chuyên ngành : Công Nghệ Và Quản Lý Xây Dựng MSHV : 00804210
I – TÊN ĐỀ TÀI:
ƯỚC LƯỢNG CHI PHÍ ĐẦU TƯ XÂY DỰNG CHUNG CƯ
BẰNG NEURAL NETWORKS
II – NHIỆM VỤ VÀ NỘI DUNG
Chương 1: Đặt vấn đề Chương 2: Tổng quan về lý thuyết Chương 3 : Phương pháp nghiên cứu
Chương 4 : Thực hiện huấn luyện tập mẫu dữ liệu bằng Matlab Chương 5: Chương trình tự động hóa ước lượng và ứng dụng ước lượng chi
phí đầu tư xây dựng Chương 6: Kết luận
III – NGÀY GIAO NHIỆM VỤ : 06/02/2006
IV – NGÀY HOÀN THÀNH NHIỆM VỤ : 06/07/2006
V – HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN THỨ 1 : TS NGUYỄN CÔNG THẠNH
VI – HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN THỨ 2 : ThS LƯU TRƯỜNG VĂN
CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM NGÀNH CN BỘ MÔN
Nội dung và đề cương luận văn thạc sĩ đã được Hội đồng chuyên ngành thông qua
Ngày …… tháng ……năm 2006
Trang 3TÓM TẮT NỘI DUNG
Ước lượng chi phí đầu tư xây dựng chung cư trong giai đoạn thực hiện dự án đầu tư, đánh giá tài chánh cũng như lợi nhuận của dự án mạng lại là một vấn đề sống còn đối với doanh nghiệp hoạt động trong lĩnh vực đầu tư xây dựng
Việc thu thập các dữ liệu thực của quá khứ có thể giúp nhà đầu tư ước lượng chi phí đầu tư xây dựng của mình Lý thuyết mạng nơ ron
nhân tạo thực sự hữu ích cho việc ước lượng trên cơ sở của các công
trình tương tự dưới tác động của các yếu tố về giá cả
Luận văn này là một nghiên cứu được xây dựng trên lý thuyết mạng
nơ ron nhân tạo để ước lượng chi phí đầu tư xây dựng chung cư,
tập mẫu dữ liệu thu thập từ 14 công trình được xây dựng từ năm 2000 đến nay, với các biến đầu vào: Số tầng cao, tổng diện tích xây dựng, cấp công trình, năm xây dựng, giá xăng dầu, giá xi măng, giá sắt thép;
biến đầu ra: tổng chi phí đầu tư xây dựng
Với sự hổ trợ của phần mềm tính toán Matlab và ngôn ngữ lập trình Visual C++ tác giả đã tự động hóa ước lượng trên cơ sở nguồn dữ liệu nhập vào, cho phép ước lượng được tổng chi phí của một công trình xây dựng chung cư Tuy nhiên mức độ nghiên cứu cũng còn nhiều hạn chế chưa thể ứng dụng một cách rộng rãi, cần phải được nghiên cứu thêm
Trang 4GVHD : Ts Nguyễn Công thạnh & Ths Lưu Trường Văn
The estimation of the investment cost of the apartment buidings in the stage of performing the investment, the financial assessment as well as the benefits from the projects are the survival of the enterprises operating in the field of investment construction
The collection of real data in the past can help investors estimate the investment expenditures of building The Artificial Neural Networks theory is quite useful for the assessment based on the similar projects under the impact
of the price elements(e.g the price of ciment, bar steel, fuel,…)
This research is developed from the Artificial Neural Networks theory
to evaluate the investment cost of the apartment buildings The model of the data file which has been collected from 14 projects carried out from the year-
2000 up to this time; with the input variances, including the number of stores, the total in building area, the building year, the costs of ciment and iron&
steel, A92 gasoline and the output variance: the total cost of building
Thanks to the calculating software- Matlab and the programming
language-Visual C++, author automates the estimation on the base of the
input data, which is enable for caculating the total construction cost of the apartment buildings Nevertheless, the research still has limitations and hasn’t yet extensively applied Hence, it needs to be further studied
Trang 5task in the building investment – Finance analysis
The selections data in the part is very important to estimated the cost of building construction project Artificial Neural Networks theory is truly for estimated cost based on the similar projects, material (ciment, bar steel) cost, fuel (A92 gasoline) cost
This research proposed, Artificial Neural Networks is formulated and a neural network architecture is presented for estimation of the cost of building construction project The model is applied to estimated the cost of building, the selection data from 14 building construction projects, was builded from
2000 up to date, inputs variance including: stores number, total build area, build year, building level, ciment and bar steel cost, A92 gasoline cost Output Variance: Total cost of building
By Matlab software and Visual C++, the new computational model is based on a solid mathematical foundation making cost estimation consistently more reliable and predictable
However, final solutions have been considered
MỤC LỤC CHƯƠNG 1: ĐẶT VẤN ĐỀ
Trang 6GVHD : Ts Nguyễn Công thạnh & Ths Lưu Trường Văn
1 Đặt vấn đề nghiên cứu
2 Mục đích nghiên cứu:
3 Phạm vi nghiên cứu:
4 Một số nghiên cứu khác có liên quan đến nội dung của luận văn:
CHƯƠNG 2: TỔNG QUAN VỀ LÝ THUYẾT
1 Giới thiệu
2 Cơ sở lý thuyết của Neural Network
2.1 Khái Niệm Mạng Neural:
2.2 Cấu Trúc Mạng Neural:
2.2.1 Cấu Trúc Của Bộ Não:
2.2.2 Cấu Trúc Của Một Neural:
2.2.3 Hàm Hoạt Động
2.2.4 Cấu Trúc Mạng Neural:
2.3 Tiến trình học (training):
2.3.1 Định Nghĩa:
2.3.2 Giải Thuật Học:
2.3.3 Giải Thuật Back-Propagation
Trang 71 Thu thập & phân tích số liệu
2 Các bước thực hiện:
3 Dữ liệu thu thập:
Chương 4 : THỰC HIỆN HUẤN LUYỆN TẬP MẪU DỮ LIỆU
BẰNG MATLAB
1 Một số giới thiệu các hàm huấn luyện Nơ ron của Matlab
1.1 Hàm huấn luyện
1.2 Hàm học thích nghi
1.3 Hàm thực hiện
2 Huấn luyện mạng nơ – ron bằng chương trình Matlab
3 Trình tự thực hiện huấn luyện mạng nơ – ron bằng Matlab
4 Dữ liệu huấn luyện (training)
Chương 5: CHƯƠNG TRÌNH TỰ ĐỘNG HÓA ƯỚC LƯỢNG VÀ ỨNG DỤNG ƯỚC LƯỢNG CHI PHÍ ĐẦU TƯ XÂY DỰNG
Trang 8GVHD : Ts Nguyễn Công thạnh & Ths Lưu Trường Văn
1 Cơ sở lập trình tính toán ước lượng – mục tiêu xây dựng bài toán
1.1 Cơ sở lập trình tính toán ước lượng
2.2 Mục tiêu xây dựng bài toán
2 Lập trình trên Visual C++
2.1 Mã (code) của phần chính lập trình
2.2 Phần giao diện và hướng dẫn thực hiện thao tác:
3 Aùp dụng ước lượng tổng chi phí chung cư Bắc Bình
4 Giới hạn dữ liệu tính toán ước lượng
1 Ứùng dụng mô hình - Phát triển đề tài
1.1 Ưùng dụng mô hình:
1.2 Phát triển đề tài
1.3 Những khó khăn gặp phải
2 Kết luận - ý nghĩa đề tài
TÀI LIỆU THAM KHẢO
PHỤ LỤC
BẢNG DANH SÁCH CÁC BẢNG BIỂU – HÌNH VẼ
Hình 2.1: Cấu trúc cơ bản một Neural sinh học
Trang 9Hình 2.3: Ảnh hưởng của thông số b đến ngõ ra
Hình 2.4: Cấu trúc khác của một Neural
Hình 2.5: Đồ thị hàm Threshold
Hình 2.6: Đồ thị hàm piecewise-linear
Hình 2.7: Đồ thị hàm sigmoid (logistic)
Hình 2.8: Hàm tan – sigmoid (tan-hyperbol)
Hình 2.9 : Cấu trúc mạng neural một lớp
Hình 2.10: Cấu trúc mạng neural nhiều lớp
Hình 2.11 : Cấu trúc mạng hồi quy
Hình 2.12: Cấu trúc mạng neural dạng lưới
Hình 2.13: Tiến trình học
Hình 2.14 : Sơ đồ huấn luyện mạng
Hình 2.15 : Định nghĩa đạo hàm
Hình 2.16 : Mô tả phương thức giảm
Hình 2.17 : Bước điều chỉnh trọng số
Hình 2.18 : Bước điều chỉnh vượt qua Emin
Hình 2.19: Bước điều chỉnh không mong muốn
Hình 2.19b: Sơ đồ thực hiện Training Back-propagation
Hình 2.20: Mô hình tính toán một neuron
Hình 2.21: Mô hình tính toán mạng neural tổng quát
Trang 10
-GVHD : Ts Nguyễn Công thạnh & Ths Lưu Trường Văn
Hình 3.2: Trình tự thực hiện ANN
Hình 3.3 : Giản đồ thực hiện NN
-Hình 4.1 : Giao diện chính của Matlab
Hình 4.2 : Bảng quản lý dữ liệu mạng
Hình 4.3 : Bảng nhập Matrận đầu vào
Hình 4.4 : Bảng nhập ma trận đầu ra
Hình 4.5 : Tạo mạng mới
Hình 4.6: Giao diện sau khi nhập dữ liệu
Hình 4.7: Bảng thông tin huấn luyện mạng
Hình 4.8: Các thông số của việc huấn luyện mạng
Hình 4.9: Mạng nơ – ron của dữ liệu nhập vào
Hình 4.10: Biểu đồ sai số trong việc huấn luyện
Hình 4.11: Biểu đồ và giá trị sai số sau khi kết thúc huấn luyện lần 1 Hình 4.12: Biểu đồ và giá trị sai số sau khi kết thúc huấn luyện lần 2 Hình 4.13: Giao diện quản lý mạng sau khi huấn luyện
Hình 4.14: Ma trận đầu ra của việc huấn luyện
Hình 4.15: Ma trận sai số của việc huấn luyện
Hình 4.16: Ma trận trọng số của giá trị đầu vào
Hình 4.17: Ma trận trọng số của lớp thứ 2
Hình 4.18: Ma trận trọng số của nút Bias vào
Trang 11
-Hình 5.1: Giao diện chính của phần mềm
Hình 5.2: Bảng nhập dữ liệu
Hình 5.3: Lưu trữ dữ liệu
Hình 5.4: Mở dữ liệu
Trang 12Chương 1: ĐẶT VẤN ĐỀ
1 Đặt vấn đề nghiên cứu
Thời gian gần đây, đầu tư xây dựng chung cư đang là một thị trường mang lại lợi nhuận dễ dàng nhất, thị trường đầu tư bất động sản mà trước đây ít ai chú ý đến, từ năm 2000 đến nay số lượng các chung cư được đầu tư phát triển một cách nhanh chóng, số lượng các nhà kinh doanh địa ốc – công ty môi giới phát triển một cách chóng mặt
Một trong những trở ngại lớn đối với các nhà đầu tư là phải xác định giá trị phải đầu tư một cách đúng đắn, tránh các phát sinh ra trong quá trình thực hiện làm vượt khả năng kinh phí dự phòng cũng như lợi nhuận mạng lại không như mong đợi
Hiện nay các dự án trước khi thực hiện đã lập dự án đầu tư, đánh giá giá trị cần đầu tư, cũng như các giá trị lợi ích mang lại Tuy nhiên việc xác định các giá trị đó còn quá sơ sài, mang tính chủ quan của người đánh giá Dẫn đến khi bắt đầu thực hiện thì giá trị đầu tư không đạt như giá trị dự kiến ban đầu
Do đó việc tính toán thống kê hệ thống lại các giá trị đầu tư thực tế của các công trình trước đây, cũng như mô phỏng tính toán theo từng thời kỳ, lập dự báo về giá trị đầu tư là một điều cần thiết, giúp nhà đầu tư có những ước lượng chính xác hơn, cũng như đánh giá lợi nhuận tốt hơn
Trên cơ sở của các dự án tương tự trước đây, dưới tác động của các yếu tố của thị trường đầu tư: giá cả vật liệu, giá xăng dầu tác động đến tổng chi phí đầu tư Dự báo một cách tương đối chính xác giá trị đầu tư trong một mặt bằng giá cả, quy mô xây dựng cũng như chất lượng của công trình xây dựng
2 Mục đích nghiên cứu:
Trang 13Sử dụng lý thuyết mạng Nơ Ron nhân tạo (Artificial Neural Network – ANN) để ước lượng tổng chi phí đầu tư cho một dự án chung cư nhằm hổ trợ nhà đầu tư có
cơ sở để ra quyết định đầu tư
Cụ thể:
- Thu thập số liệu để nhận dạng và lựa chọn giá trị đầu vào
(input) và giá trị đầu ra (Output)
- Thiết lập mô hình thuật toán ước lượng
- Dùng phần mềm Matlab để tính toán ước lượng
- Cụ thể tính toán ước lượng cho một dự án
- Cho phép dự báo giá trị đầu tư ứng với từng thời kỳ
3 Phạm vi nghiên cứu:
Phạm vi nghiên cứu của đề tài giới hạn ở các dự án đầu tư chung cư tại khu vực TP.HCM
Các số liệu thu thập trên cở sở các số liệu thiết kế, quyết toán của các công trình đã thực hiện xong và các số liệu dự toán thiết kế của các công trình đang triển khai
Phân tích phần khối lượng vật tư ảnh hưởng lớn đến sự tác động làm thay đổi giá đầu tư (như: ximăng, sắt thép, xăng dầu)
Trong luận văn này, nguồn dữ liệu thu thập từ 14 công trình xây dựng chung cư, gồm có: 3 chung cư 5 tầng, 1 chung cư 9 tầng, 1 chung cư 11 tầng, 5 chung cư 12 tầng, 1 chung cư 14 tầng, 2 chung cư 15 tầng, 1 chung cư 25 tầng;
Thuộc các dự án đầu tư hoặc thi công xây dựng của các công ty: Công Ty Cổ Phần Đầu Tư & Xây Dựng Số 8, Công Ty Phát Triển Và Kinh Doanh Nhà Sài
Trang 14Gòn, Công Ty An Cư, Ngân Hàng ACB, Công Ty Xây Dựng Và Phát Triển Đô Thị (Hub), Công Ty Kinh Doanh Vật Liệu Tổng Hợp Bình Định
Các dự án đầu tư từ năm 2000, 2002, 2003, 2004, 2005, 2006
Nhằm đảm bảo tính bảo mật cũng như theo yêu cầu của những công ty đã cung cấp số liệu, tác giả xin không nêu tên các công trình đã sử dụng làm số liệu thực hiện luận văn
4 Một số nghiên cứu khác có liên quan đến nội dung của luận văn:
• Florence Yean Yng (Singapore) và Min Liu (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ị
• Về lĩnh vực dự toán chi phí cho một dự án: tác giả Tarek Hegazy và Amr Ayed (Canada) đã ứng dụng ANN để dự toán chi phí cho một dự án đường cao tốc
Với nghiên cứu này tác giả đã xây dựng bài toán ước lượng chi phí cho một dự án đường cao tốc tại Canada bằng lý thuyết mạng Nơ ron:
Trang 15Nguồn dữ liệu tác giả thu thập được từ 18 dự án xây dựng cầu đường: Phân chia các giá trị đầu vào (inputs):
- Năm xây dựng
- Theo các mùa thi công: xuân, hạ, thu, đông
- Theo vị trí xây dựng
- Theo chiều dài
- Theo chiều rộng
Giá trị đầu ra (output): là tổng chi phí xây dựng dự án
Từ các nguồn dữ liệu sẳn có tác giả sử dụng phần mềm Neuron network solution để xuất ra bộ trọng số đầu vào, trọng số đầu ra, giá trị nút Bias 1, bias 2 của 5 nút ẩn
Hàm sử dụng cho việc huấn luyện Tanh (tan – hyperbol)
Với các trọng số xuất ra tác giả sử dụng phần mềm ứng dụng Excel để xây dựng bài toán tự động hóa việc thực hiện ước lượng cho các dự án sau này
• Hojjat Adeli và Mingyang Wu (Đại Học bang Ohio - Mỹ) dự toán giá bê tông vĩa hè cho dự án xây dựng đường- thực hiện năm 1997:
Với nghiên cứu này tác giả đã thực hiện việc thống kê 242 mẫu giá bê tông vĩa hè
Kết quả cuối cùng của việc huấn luyện 121 mẫu và 121 mẫu thực hiện việc so sánh, tác giả đưa ra kết luận: đơn giá bê tông vĩa hè là 6.3$/m3 và 6.7$/m3
• Xishi Huang, Danny Ho, Jing Ren, Luiz F Caprestz (Canada) đã ứng dụng Neural Fuzzy phát triển mô hình COCOMO (Construction Cost Model),
Trang 16trê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
• Jason Portas và Simaan AbouRizk (Canada) ứng dựng mô hình Neural network để đánh giá khả năng sản xuất xây dựng
• Irem Dikmen và M.Talat Birgonul (Turkey) nghiên cứu 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
• Hashem Al-Tabtabai (Kuwait) ứng dụng ANN để xây dựng mô hình phân tích kinh nghiệm và hệ thống dự báo cho dự án xây dựng
Trên cơ sở dữ liệu các dự án trước đây về:
- Tiến độ thực hiện của nhà thầu;
- Dòng ngân lưu;
- Vật liệu & thiết bị;
- Thời tiết & 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…
Trang 17Để 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 giá đầu tư, thay đổi giá thực hiện trong quá trình thực hiện dự án
• VK Gupta, JG Chen, MB Murtaza (Mỹ) đã ứ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
• Ưùng dụng Neural network tối ưu hóa tiến độ mạng – luận văn thạc sĩ của tác giả Hồ Hải Đăng – năm 2004
• Nghiên cứu ứng dụng trí tuệ nhân tạo trong công tác chọn thầu thi công, luận văn thặc sĩ của tác giả Phạm Trường Giang – năm 2003
• Kết hợp lý thuyết đồ thị và thuật giải di truyền vào tối ưu hóa tiến độ mạng theo thời gian và nhân tài vật lực – Luận văn thạc sĩ của tác giả Lương Đức Long – Năm 2002
Ở luận văn này tác giả đã sử dụng lý thuyết mạng Nơ ron nhân tạo để huấn luyện mạ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ư tư vấn trong quyết định thực hiện dự án
Trang 18Mặc dù ở các nước sử dụng lý thuyết ANN để nghiên cứu các vấn đề liên quan đến ngành quản lý xây dựng, các ngành Điện, Điện Tử, Cơ Khí Chế Tạo ở Việt Nam cũng đã sử dụng lý thuết này khá rộng rãi;
Tuy nhiên việc sử dụng lý thuyết này nghiên cứu trong ngành Xây Dựng cũng như Quản Lý Dự Aùn Xây Dựng ở Việt Nam còn hạn chế
Trang 19Chương 2: TỔNG QUAN VỀ LÝ THUYẾT
1 Giới thiệu
Việc sử dụng trí tuệ nhân tạo hay còn gọi là mạng Neural nhân tạo (Artificial Neural Network –ANN) đã bắt đầu được nghiên cứu từ khi nhận thấy tốc độ của bộ não người trong tính toán số học và cách xử lý các tình huống bằng nhiều cách khác nhau Người tiên phong trong quá trình nghiên cứu này là Ramón y Cajál (1911), ông đã đưa ra quan niệm bộ não được cấu tạo từ các nơ ron Năm
1943 mạng nơ ron nhân tạo được giới thiệu 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
Và hiện nay khoa học đã phân tích được bộ não con người chứa khoảng 1010-1012
Neural Mỗi Neural được kết nối với khoảng 104 các Neural khác Các sự kiện xảy ra trên các Neural này khoảng 10-3s, trong khi các sự kiện xảy ra trên các Chip silicon hay IC là 10-9s (Shepherd and Koch, 1990) Tuy nhiên, kết quả thực nghiệm cho thấy bộ não người là một cấu trúc hiệu quả khổng lồ Hiệu suất của bộ não đạt đến 10-16s trên một hành động trong khi hiệu suất của máy tính khoảng 10-6s trên một hành động (Faggin,1991) Bộ não người có thể xử lý các thông tin phức tạp, phi tuyến và tính toán song song (information-processing-system ) Ngoài ra:
- Bộ não tích hợp và lưu trữ kinh nghiệm, có sự phân loại và liên kết với các dữ liệu vào
- Bộ não xem xét những kinh nghiệm mới trong hoàn cảnh những kinh nghiệm đã được lưu trữ
- Bộ não có khả năng dự đoán chính xác những tình huống mới dựa trên những kinh nghiệm đã có trước đây
Trang 20- Bộ não không cần thông tin hoàn hảo và chấp nhận lỗi
Từ những khả năng vô cùng to lớn của bộ não người mà ngày nay mạng neural đã được nghiên cứu rộng rãi nhằm mục đích xây dựng một bộ não nhân tạo cho máy móc hoặc robot để có thể hoạt động như con người nhằm vào mục đích tự động hóa Hiện nay mạng neural đã được ứng dụng thử nghiệm và có một số thành công trong các lĩnh vực:
- Xử lý ảnh và nhận biết bằng máy tính : bao gồm trùng khớp ảnh, tiền xử lý ảnh, phân tích ảnh và xử lý các hình ảnh thay đổi theo thời gian…
- Xử lý tín hiệu : phân tích tín hiệu địa chấn và tín hiệu số
- Nhận dạng mẫu : tách các nét đặc trưng của mẫu, phân loại và phân tích tín hiệu rada, nhận dạng và hiểu tiếng nói, nhận dạng vân tay
- Kỹ thuật chế tạo : giám xác quá trình gia công, điều khiển tối ưu chế độ cắt…
- Hệ thống điện : dự đoán trạng thái hệ thống, sức tải và thẩm định an toàn…
- Y học : phân tích và hiểu các tín hiệu điện tâm đồ, chẩn đoán bệnh…
- Quân sự : phát hiện thủy lôi, phân loại luồng rada
- Kinh tế : phân tích thị trường chứng khoáng, định giá bất động sản…
2 Cơ sở lý thuyết của Neural Network
2.1 Khái Niệm Mạng Neural:
Mạng neural là bộ xử lý đồ sộ được phân bố song song có xu hướng tự nhiên là lưu những kinh nghiệm hiểu biết và sử dụng những kinh nghiệm đó tùy mục đích sử dụng Mạng neural giống bộ não người với hai chi tiết:
- Những kiến thức thu được của mạng phải thông qua tiến trình học
- Đường kết nối giữa các Neural được xem như các dây thần kinh sử dụng cho lưu trử kiến thức của não
Trang 21Để thiết kế một mạng neural chúng ta cần phải xây dựng hai vấn đề:
- Xác định cấu trúc mạng : mục đích là xây dựng cấu trúc gần giống cấu trúc của bộ não
- Xây dựng khả năng học cho mạng (hay còn gọi huấn luyện mạng) : mục đích cập nhật các thông số để mạng có thể xử lý các vấn đề khi đang hoạt động giúp mạng neural có khả năng như bộ não
2.2 Cấu Trúc Mạng Neural:
Trước khi xác định cấu trúc của mạng ta xem xét trước đến cấu trúc của bộ não 2.2.1 Cấu Trúc Của Bộ Não:
Bộ não bao gồm nhiều Neural liên kết với nhau bằng các dây thần kinh Sự hoạt động của hệ thần kinh được chia thành 3 giai đoạn :
- Con người nhận được kích thích từ bên ngoài thông qua các giác quan Sự kích thích này được chuyển đổi thành xung điện và được chuyển đến não
- Bộ não liên tục thu nhận thông tin, xử lý, đánh giá và so sánh chúng với những thông tin đang lưu trữ để tạo ra các quyết định thích đáng
- Những mệnh lệnh đưa ra sau khi bộ não xử lý được truyền đến các bộ phận chấp hành như tay chân cho hành động hay lưỡi cho tiếng nói … dưới dạng xung điện Bộ phận thi hành biến đổi xung điện đưa đến thành hành động
Neural là phần tử cơ bản của não, có khả năng hoạt động tương tự một đơn vị logic của máy tính, được chia làm 2 loại :
- Neural vào ra cục bộ, cách nhau khoảng 100 micron (1 micron =10-3 mm)
- Neural ra kết nối với các vùng khác của não, như kết nối não với bắp thịt hay kết nối các giác quan với não
Trang 22 Trong quá trình hoạt động, Neural nhận được nhiều thông tin, và những thông tin này được cộng lại với nhau theo một hình thức nào đó
Mặc dù các Neural có hình dạng và kích thước khác nhau nhưng về căn bản, có thể chia thành 3 phần :
Hình 2.1: Cấu trúc cơ bản một Neural sinh học
- Thể soma của Neural
- Bám soma là những sợi nhỏ gọi là dendrite, hoạt động như là cầu nối với các Neural, dùng làm kênh vào của Neural
- Một loại dây thần kinh khác cũng nối với soma là axon có bản chất dẫn điện, được dùng như kênh ra của Neural Mỗi Neural chỉ có một axon
Mỗi Neural có một mức kích hoạt, nằm trong tầm giữa giá trị lớn nhất và giá trị nhỏ nhất, trái với logic Boolean chỉ có tồn tại hai giá trị
Việc gia tăng hay giảm mức kích hoạt của Neural này đối với Neural khác được thực hiện thông qua các synapse bám trên dendrite Nếu là synapse kích thích, mức kích hoạt từ neron gửi làm gia tăng mức kích hoạt của Neural nhận
Trang 23Còn nếu là synapse hạn chế thì mức kích hoạt từ Neural gửi sẽ lảm giảm mức kích hoạt của Neural nhận Mức kích hoạt tại Neural nhận đạt đến một giá trị ngường nào đó sẽ kích thích đầu ra, truyền trên axon đến các Neural khác, cuối axon có khoảng 10000 synapse
Các synapse không chỉ khác nhau ở tác dụng kích thích hay hạn chế mà còn
khác nhau ở mức kích hoạt
2.2.2 Cấu Trúc Của Một Neural:
Mỗi Neural (nút) là một đơn vị xử lý thông tin của mạng neural Nó là yếu tố
cơ bản để cấu tạo nên mạng neural
Hình 2.2 : Cấu trúc một Neural
x i : các tín hiệu input
w kp : trọng số của từng input
f(.) : hàm hoạt động
y k : kết xuất của Neural
b : thông số ảnh hưởng đến ngưỡng ra của output
Trang 24Cấu tạo của một Neural gồm ba thành phần:
+ Các tín hiệu input được đưa vào Neural đều có một trọng số W ki để phân biệt mức độ quan trọng của từng tín hiệu đối với Neural ấy
+ Bộ tổng ( ∑ ) : tổng trọng hóa các input
Ngoài ra, thông số b ảnh hưởng đến giá trị ngõ ra của Neural
Ta xét trên đồ thị sau:
Hình 2.3: Ảnh hưởng của thông số b đến ngõ ra
Trang 25Chúng ta sẽ xét đến một cấu trúc khác của Neural:
Hình 2.4: Cấu trúc khác của một Neural
2.2.3 Hàm Hoạt Động
Các hàm hoạt động có thể chọn bất kỳ nhưng chọn các hàm phải có các đặc tính sau:
+ Hàm bị chặn trên và chặn dưới
+ Hàm có tính đơn điệu
+ Hàm phải có tính liên tục và trơn
Trong thực tế thông thường người ta thường chọn các hàm sau:
Trang 26a Hàm Threshold :
1 nếu u ≥ 0 f(u) =
0 nếu u < 0
Hình 2.5: Đồ thị hàm Threshold
b Hàm piecewise-linear: 1 nếu u ≥ 1
Trang 27b Hàm sigmoid (logistic):
f(u) = 1
1 exp(+ −au)
Hình 2.7: Đồ thị hàm sigmoid (logistic)
d Hàm tang – hyperbol (tansig):
f(u) = tanh (u) = u u
u u
e e
e e
−
−+
−
Một dạng phương trình khác là hàm
1
2
* − + − u
e
Trang 28Hình 2.8: Hàm tan – sigmoid (tan-hyperbol)
2.2.4 Cấu Trúc Mạng Neural:
Hiện nay, có 4 loại cấu trúc mạng khác nhau:
a Mạng dẫn tiến một lớp (single-layer feedforward networks):
Đây là cấu trúc mạng neural đơn giản nhất Mạng neural này chỉ gồm 1 lớp xuất không có lớp ẩn
Hình 2.9 : Cấu trúc mạng neural một lớp
Trang 29Mạng neural 1 lớp được sử dụng rộng rãi trong các hệ tuyến tính Nhưng cấu trúc mạng neural 1 lớp giống như cấu trúc 1 Neural gộp lại nên nó không có khả năng biểu diển các hệ phi tuyến Đối với hệ phi tuyến thì chúng ta nên sử dụng mạng truyền tiến nhiều lớp
b Mạng dẫn tiến nhiều lớp (Multilayer feedforward networks):
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
Hình 2.10: Cấu trúc mạng neural nhiều lớp
c Mạng hồi quy:
Một mạng hồi quy nhận ra chính nó dựa trên mạng dẫn tiến một lớp hay nhiều lớp trong đó giá trị output được hồi tiếp (feedback) về giá trị của tất cả các Neural khác để xử lý Giá trị hồi tiếp phải qua một bộ biến đổi Z-1 để tăng tính hội tụ của mạng
Trang 30Hình 2.11 : Cấu trúc mạng hồi quy
d Mạng neural dạng lưới:
Cấu trúc neural dạng lưới thật ra là các mảng nhiều chiều với các phần tử của mảng là các Neural Các phần tử xử lý của từng phần tử mảng là một mạng Neural dẫn tiến với số lớp tùy theo chức năng của mạng neural
Hình 2.12: Cấu trúc mạng neural dạng lưới
Trang 31⇒ Các giá trị kết xuất của mạng đều tính trên cơ sở thuật toán của từng Neural(nút mạng) như trên
2.3 TIẾN TRÌNH HỌC (TRAINING):
Tiến trình học là tiến trình quạn trọng của con người, nhờ học mà bộ não ngày càng tích lũy những kinh nghiệm để thích nghi với môi trường và xử lý tình huống tốt hơn Mạng neural xây dựng lại cấu trúc bộ não thì cần phải có khả năng nhận biết dữ liệu thông qua tiến trình học
Hình 2.13: Tiến trình học
2.3.1 Định Nghĩa:
Học là một tiến trình với các thông số tự do của mạng có thể thay đổi liên tục bởi những thay đổi của môi trường và mạng neural ghi nhớ giá trị đó
Tiến trình học sẽ thực hiện chuỗi sự kiện sau:
+ Mạng neural sẽ được kích thích bởi môi trường
+ Mạng neural sẽ chịu sự thay đổi các thông số khi bị kích thích
Trang 32+ Mạng neural sẽ phản ứng lại bằng một giá trị khác đến môi trường
Định luật Hebb : gia tăng trọng số của kích thích nếu muốn đầu ra của Neural
trở nên tác động đối với kích thích Ngược lại, giảm trọng số của kích thích nếu không muốn đầu ra của Neural tác động đối với kích thích đó
Định luật Hebb là quy tắc lâu nhất, nổi tiếng nhất của tiến trình học, nó là tiền đề cho tất cả các giải thuật học sau này
Đối với mô hình neuron, xét ví dụ : Giả sử có hai đầu vào Boolean x1,
x2 ∈ [0,1] và một đầu ra Boolean y ∈ [0,1] Phương trình mô tả neuron :
1 nếu w1x1 + w2x2 ≥ θ
0 trường hợp còn lại Giả sử ta muốn neuron này hoạt động như một cổng AND Thế thì tập huấn luyện được cho theo dạng các cặp vào/ra như sau :
Trang 33Đối với ví dụ trên, việc tìm ra trọng số và giá trị ngưỡng được nhìn thấy dễ dàng Tuy nhiên, cần phải tìm ra các giải thuật để việc học có thể thực hiện được trên máy tính
Hình 2.14 : Sơ đồ huấn luyện mạng
Hầu hết các giải thuật học đều dựa trên sai lệch giữa kết quả thực hiện bởi mạng Neural với kết quả mong muốn Đó là một quá trình sửa sai theo giải thuật
tổng quát gọi là lan truyền ngược sai lệch Có thể phát biểu như sau :
Trong quá trình học, giá trị đầu vào được đưa vào mạng và theo dòng chảy trong mạng tạo thành giá trị ở đầu ra
Tiếp đến là quá trình so sánh giá trị tạo ra bởi mạng Neural với giá trị ra mong muốn Nếu hai giá trị này giống nhau thì không thay đổi gì cả Tuy nhiên, nếu có một sai lệch giữa hai giá trị này thì đi ngược mạng từ đầu ra về đầu vào để thay đỗi một số kết nối
Đây là một quá trình lặp liên tục và có thể không dừng khi không thể tìm các giá trị w sao cho đầu ra tạo bởi mạng Neural bằng đúng đầu ra mong muốn Do đó trong thực tế người ta phải thiết lập tiêu chuẩn dừng dựa trên một giá trị sai số nào đó của hai giá trị này, hay dựa trên một số lần lặp xác định
Trang 34Để tiện cho việc trình bày, ta ký hiệu y là giá trị kết xuất của mạng Neural, t là giá trị ra mong muốn, e là sai lệch giữa hai giá trị này:
e = t – y
2.3.2 Giải Thuật Học:
Hiện nay có rất nhiều giải thuật học khác nhau, tất cả đều là quá trình cập nhật các trọng số của mạng sao cho hàm lỗi giảm dần Trong quá trình tìm hiểu, tôi thấy giải thuật Back-probagation là giải thuật hiện được sử dụng nhiều và được đánh giá cao vì dễ thiết kế và có khả năng học tốt các mô hình phi tuyến, mạng nhiều lớp ẩn…Vì vậy trong quá trình nghiên cứu để thiết kế mạng tôi chỉ tập trung tìm hiểu vào thuật toán Back- probagation
Trước khi xem xét đến giải thuật Back-probagation ta xét đến phương pháp giảm Gradient:
a Phương Pháp Giảm Gradient:
Qui tắc giảm dốc nhất, còn gọi là qui tắc Delta, là một trong những qui tắc học nguyên thuỷ nhất của lan truyền ngược Phương pháp được Rumelhart, Hinton và Williams giới thiệu năm 1986
Khi hoàn thành một bước lặp qua toàn bộ tập mẫu, tất cả các trọng số của mạng sẽ được cập nhật dựa vào các thông tin đạo hàm riêng theo từng trọng số tích luỹ được Đúng như tên đặt cho phương pháp, giảm dốc nhất, các trọng số sẽ được cập nhật theo hướng mà hàm lỗi ( hàm sai số ) E tụt xuống dốc nhất
Để hiểu phương pháp, bạn hãy tưởng tượng như mạng lỗi đang di chuyển trên một chuỗi các điểm trong không gian lỗi Để dễ hình dung, cắt mặt lỗi theo một mặt song song với một trọng số nào đo Trong mặt cắt này, ta có một đường cong lỗi, và tại bất kỳ điểm nào trên đường cong này ta sẽ có một giá
Trang 35trị tương ứng cho trọng số đó Trong suốt tiến trình luyện mạng, mạng sẽ di chuyển qua một chuỗi các điểm trên đường cong lỗi như thế
Luật học delta dựa trên tính chất của đạo hàm mà nền tảng là phương thức giảm nên có thể dùng cho hàm truyền bất kỳ (tuyến tính hay bán tuyến tính)
b Đạo Hàm Lỗi:
Hình 2.15 : Định nghĩa đạo hàm
Định nghĩa : đạo hàm của hàm số f tại một điểm x thuộc miền xác định,
ký hiệu là f ′ (x), được cho bởi :
n
n x
x f x f x
Nếu f ′ (x) > 0 thì ta nói rằng f tăng tại x, nếu f ′ (x) < 0 thì ta nói rằng
f giảm tại x, còn nếu f ′ (x) = 0 thì hàm f có một cực trị tại x
Phương trình đường thẳng d đi qua điểm (x0,f(x0)) được cho bởi :
)()
0
0
x f x
x
x f
−
−
Trang 36suy ra
)()()
x f x x x f
Gọi x1 là giao điểm của d và trục hoành, thế thì x1 là nghiệm phương trình :
0)()(
)(x0 + x−x0 f′ x0 =
f
Hình 4.16 : Mô tả phương thức giảm
suy ra
)(
)(
0
0 0
1
x f
x f x x
)(
1
n
n n
n
x f
x f x x
Trang 37Hình 2.17 :Bước điều chỉnh trọng số
Trọng số wk sẽ luôn được cập nhật mới sao cho độ dốc của tiếp tuyến (hay hệ số góc của tiếp tuyến ) dịch chuyển về 0 khi đó giá trị sai số là nhỏ nhất Quá trình dịch chuyển này còn phụ thuộc vào hằng số η do người sử dụng cài đặt η là hệ số học của mạng nó ảnh hưởng rất lớn đến tốc độ học của quá trình
Nếu η quá lớn tốc độ học của mạng sẽ nhanh nhưng quá trình học sẽ không chính xác vì có thể bước nhảy Δwk(n) sẽ vượt qua giá trị mong muốn của quá trình học
Hình 2.18 : Bước điều chỉnh vượt qua Emin
Trang 38Ngược lại nếu η quá nhỏ thì bước nhảy sẽ nhỏ và khả năng nhận
biết giá trị trọng số mong muốn cao tuy nhiên vẫn có tình trạng không tốt xảy ra đó là giá trị trọng số rơi vào những điểm có E
w
∂
∂ = 0 nhưng điểm đó không phải là điểm để E đạt giá trị nhỏ nhất
Hình 2.19: Bước điều chỉnh không mong muốn
⇒ Vì vậy hệ số η được chọn qua quá trình thử đi thử lại nhiều lần 2.3.3 Giải Thuật Back-Propagation
Trong nghiên cứu này sử dụng thuật toán Back-propagation
Thuật toán Back-propagation được sử dụng để điều chỉnh các trọng số kết nối
sao cho tổng sai số E nhỏ nhất
y(xi) : giá trị kết xuất của mạng
Trang 39Trước tiên ta xét trên 1 Neural, mỗi Neural đều có giá trị vào và ra, mỗi giá trị vào đều có một trọng số để đánh giá mức độ ảnh hưởng của giá trị vào đó Thuật toán back-propagation sẽ điều chỉnh các trọng số đó để giá trị ej = Tj – yj
là nhỏ nhất
Các bước khi tiến hành thiết kế thuật toán Back-propagation:
Bước 1: Xác định các trọng số nhỏ bất kỳ ban đầu cho tất cả các đầu vào của từng Neural(nút)
Bước 2: Tính giá trị kết xuất của mạng
Bước 3: Tính toán giá trị lỗi dựa trên phương pháp bình phương cực tiểu Bước 4: So sánh giá trị lỗi với giá trị sai số mong muốn
Bước 5: Cập nhật lại trọng số mới rồi trở lại bước 2 cho đến khi đạt giá trị sai số mong muốn
Trước tiên ta xét trên 1 Neural, mỗi Neural đều có giá trị vào và ra, mỗi giá trị vào đều có một trọng số để đánh giá mức độ ảnh hưởng của giá trị vào đó Thuật toán back-propagation sẽ điều chỉnh các trọng số đó để giá trị ej = Tj – yj
là nhỏ nhất
Trang 40NHẬP TẬP MẪU
(inputs, Targets)
CHỌN SAI SỐ
e
CHỌN SỐ NEURAL
(Điều chỉnh trọng số)
TÍNH GIÁ TRỊ KẾT XUẤT (outputs)
E <= e
E > e
XUẤT TRỌÏNG SỐ
Hình 2.19b: Sơ đồ thực hiện Training Back-propagation
Trước hết ta phải xác định vị trí của mỗi neuron Neuron nào là của lớp ẩn và neuron nào là của lớp xuất Ta cần biết các ký hiệu:
wij : vector trọng số của neuron j số đầu vào i
uj : vector giá trị kết xuất của neuron trong lớp j
Tính sai số E=
2( ( , ) ( ))
n
t x w −y x
∑