Cơng tác chính Chi phí quá khứ ($) % so với tổng Chi phí mới ($)
Nền mĩng 7.937.046 26 9,195,879
Kết cấu khung bê tơng cốt thép 6.832.454 23 7,916,096
Thang máy 1.827.945 6 2,117,861
Hệ thống điều hịa 3.429.944 11 3,973,940
Hệ thống điện 1.849.003 6 2,142,259
Hồn thiện kiến trúc 4.307.760 14 4,990,980
Cửa ra vào và cửa sổ 1.392.071 5 1,612,856
Hồn thiện bên ngồi dự án 417.848 1 484,120 Trang thiết bị cho cơng trình 2.091.054 7 2,422,700 Tổng chi phí các hạng mục 30.085.125 100 34,856,691 Chi phí thiết kế + Quản lý dự
án 700.000 2,3 811,022
Dự phịng phí 1.425.000 4,7 1,651,008
Tổng chi phí xây dựng và thiết
kế+ Quản lý dự án 32.210.125 37,318,720
Ưu điểm:
- Là phương pháp giúp cho lãnh đạo đưa ra các hoạch định cho dự án
- Áp dụng cho các giai đoạn ban đầu dự án hoặc thiết kế cơ sở khi mà thơng tin dự án chưa cĩ đầy đủ.
- Số liệu thuyết phục, đáng tin cậy do dựa trên số liệu quá khứ đã hồn thành.
Nhược điểm: Nếu khơng nhận ra sự khác nhau của các dự án thì sẽ dẫn đến khơng chính xác. Vì vậy, nĩ chỉ dùng để ước tính chứ khơng thể là căn cứ hoặc cơ sở để kiểm sốt chi phí dự án.
2.1.6. Mạng neuron nhân tạo 2.1.6.1. Khái niệm 2.1.6.1. Khái niệm
Nơ-ron là đơn vị cơ bản cấu tạo hệ thống thần kinh và là một phần quan trọng nhất của não. Não chúng ta gồm khoảng 10 triệu nơ-ron và mỗi nơ-ron liên kết với 10.000 nơ-ron khác.
Ở mỗi nơ-ron cĩ phần thân (soma) chứa nhân, các tín hiệu đầu vào qua sợi nhánh (dendrites) và các tín hiệu đầu ra qua sợi trục (axon) kết nối với các nơ-ron khác. Hiểu đơn giản mỗi nơ-ron nhận dữ liệu đầu vào qua sợi nhánh và truyền dữ liệu đầu ra qua sợi trục, đến các sợi nhánh của các nơ-ron khác.
Mỗi nơ-ron nhận xung điện từ các nơ-ron khác qua sợi nhánh. Nếu các xung điện này đủ lớn để kích hoạt nơ-ron, thì tín hiệu này đi qua sợi trục đến các sợi nhánh của các nơ-ron khác.
=> Ở mỗi nơ-ron cần quyết định cĩ kích hoạt nơ-ron đấy hay khơng.
Tuy nhiên ANN chỉ là lấy cảm hứng từ não bộ và cách nĩ hoạt động, chứ khơng phải bắt chước tồn bộ các chức năng của nĩ. Việc chính của chúng ta là dùng mơ hình đấy đi giải quyết các bài tốn chúng ta cần.
Artificial Neural Network (ANN) gồm 3 thành phần chính: Input layer và output layer chỉ gồm 1layer, hidden layer cĩ thể cĩ 1 hay nhiều layer tùy vào bài tốn cụ thể. ANN hoạt động theo hướng mơ tả lại cách hoạt động của hệ thần kinh với các neuron được kết nối với nhau.
Trong nghiên cứu của mình, K. Gnana Sheela (2013) [22] đã đưa ra cơng thức tính số neuron trong lớp ẩn và Tijana Vujičić và cộng sự (2016) [23] đã chứng minh cơng thức này giúp quá trình huấn luyện đạt sai số thấp nhất với n là số neuron lớp đầu vào:
Trong ANN, trừ input layer thì tất cả các node thuộc các layer khác đều liên kết đầy đủ (full-connected) với các node thuộc layer trước nĩ.
Các PE (Processing Elements) của ANN gọi là Neuron, mỗi Nueron nhận các dữ liệu vào (Inputs) xử lý chúng và cho ra một kết quả (output) duy nhất. Kết quả xử lý của một Neuron cĩ thể làm Input cho các Neuron khác, hay dễ hiểu là mỗi node thuộc hidden layer nhận vào ma trận đầu vào từ layer trước và kết hợp với trọng số để ra được kết quả.
Như thế, ta thấy rằng trọng số liên kết (Connection Weights) là thành phần rất quan trọng của một ANN, nĩ thể hiện mức độ quan trọng (độ mạnh) của dữ liệu đầu vào đối với quá trình xử lý thơng tin (quá trình chuyển đổi dữ liệu từ Layer này sang layer khác). Quá trình học (Learning Processing) của ANN thực ra là quá trình điều chỉnh các trọng số (Weight) của các input data để cĩ được kết quả mong muốn.
2.1.6.2. Cấu trúc của một neuron
Neuron hay cịn được gọi là nút (node), thực hiện chức năng: nhận tín hiệu vào (thơng số đầu vào) từ các đơn vị đầu vào và truyền tín hiệu lan tryền sang các đơn vị đầu ra thơng qua quá trình học của mạng. Quá trình hoạt động của mạng biểu diễn qua hình 2.4:
Hình 2.4 Quá trình xử lý của mạng ANN Trong đĩ: Trong đĩ:
- x1 …xn: các biến đầu vào (tín hiệu đầu vào hoặc số node vào) là số thuộc tính
của đối tượng cần phân lớp.
- wk1, wk2, … wkm là trọng số tương ứng với các đầu vào, nếu tín hiệu vào thứ k
liên kết giữa với nơron x1 thường được kí hiệu là wk1. Thơng thường, các trọng số này được khởi tạo một cách ngẫu nhiên ở thời điểm khởi tạo mạng và được cập nhật liên tục trong quá trình học mạng. Đây là thành phần rất quan trọng của một ANN, nĩ thể hiện mức độ quan trọng (độ mạnh) của dữ liệu đầu vào đối với quá trình xử lý thơng tin. Quá trình học (Learning Processing) của ANN thực ra là quá trình điều chỉnh các trọng số của các dữ liệu đầu vào để cĩ được kết quả mong muốn.
- bk: ngưỡng (hay độ lệch bias) là một điểm chặn được thêm vào trong một
phương trình tuyến tính. Nĩ là một tham số bổ sung được sử dụng để điều chỉnh đầu ra cùng với tổng trọng số của các đầu vào cho neuron, là một hằng số giúp mơ hình phù hợp nhất với dữ liệu đã cho.
- vk: bộ tổ hợp tuyến tính đầu ra từ tín hiệu đầu vào.
- φ (x): hàm truyền (Transfer function): là hàm dùng để giới hạn phạm vi đầu ra
của một neuron. Hàm truyền rất đa dạng cĩ thể là hàm tuyến tính hoặc phi tuyến, việc lựa chọn hàm truyền tùy thuộc vào tính chất của bài tốn và dựa theo kinh nghiệm của người thiết kế mạng.
- yk: đầu ra của nơron, là tín hiệu đầu ra của một neuron, với mỗi neuron sẽ cĩ
tối đa là một đầu ra.
2.1.6.3. Hàm truyền
Hàm truyền là một phép biến đổi phi tuyến tính giúp xử lý thơng tin từ lớp đầu vào đến lớp đầu ra, giúp giải quyết những vấn đề phức tạp. Nếu khơng cĩ activation
tuyến tính sẽ đơn giản hơn nhiều nhưng sẽ khĩ cĩ thể mơ hình hĩa và giải được những vấn đề phức tạp. Một mạng neuron nếu khơng cĩ activation function thì cơ bản chỉ là 1 model hồi quy tuyến tính. Hàm truyền thực hiện việc biến đổi phi tuyến tính với đầu vào làm việc học hỏi và thực hiện những nhiệm vụ phức tạp hơn như dịch ngơn ngữ hoặc phân loại ảnh là khả thi. Hàm truyền hỗ trợ back-propagation (tuyên truyền ngược) với việc cung cấp các lỗi để cĩ thể cập nhật lại các weight và bias, việc này giúp mơ hình cĩ khả năng tự hồn thiện.
Phần lớn các đơn vị trong mạng nơron chuyển đầu vào mạng bằng cách sử dụng một hàm vơ hướng gọi là hàm kích hoạt (Activation function), kết quả của hàm này là một giá trị gọi là mức độ kích hoạt của đơn vị.
Các hàm kích hoạt phổ biến hay được sử dụng:
Cách lựa chọn activation function:
- Hàm Binary step: đầu ra của hàm này được giới hạn một trong hai giá trị: 0 và 1. Hàm này được sử dụng trong các mạng chỉ cĩ một lớp.
- Các hàm linear: nếu coi các đầu vào là một đơn vị thì chúng sẽ sử dụng hàm này. Đơi khi một hằng số được nhân với net-input để tạo ra một hàm linear.
- Hàm sigmoid: hàm Sigmoid nhận đầu vào là một số thực và chuyển thành một giá trị trong khoảng (0;1) và sự kết hợp của chúng thường phù hợp với những bài tốn phân loại.
- Hàm tanh: dựa vào đồ thị, giá trị của hàm đi từ -1 đến 1 ứng với giá trị đầu vào đi từ -∞ đến +∞. Giống với hàm sigmoid, hàm tanh cũng được sử dụng nhiều. Sigmoid và tanh đơi khi nên tránh sử dụng đồng thời vì cĩ thể khiến gradient biến mất.
- Hàm ReLU: đơn giản lọc các giá trị< 0, những giá trị <0 sẽ đưa về bằng 0, tốc độ hội tụ nhanh và tính tốn nhanh hơn, vì hàm tanh và Sigmoid sử dụng hàm exp và cơng thức phức tạp hơn ReLU rất nhiều do vậy sẽ tốn nhiều chi phí hơn để tính tốn. Hàm ReLU thường được sử dụng trong những hidden layer.
- Hàm Leaky ReLU: tương tự như ReLU nhưng nĩ khắc phục được nhược điểm của ReLU, thay vì trả về giá trị 0 với các đầu vào <0 thì Leaky ReLU tạo ra một đường xiên cĩ độ dốc nhỏ. Leaky ReLU là 1 activation function phổ biến và thường dùng nhất hiện nay. Nếu gặp những trường hợp cĩ tế bào neuron chết trong mạng thì Leaky ReLU là 1 lựa chọn hồn hảo
Năm 1972, Hugh Wilson và Jack Cowan [41] đã tìm cách mơ hình hĩa các neuron sinh học bằng phép tính. Họ dùng hàm Sigmoid để mơ hình hĩa sự kích hoạt của một tế bào thần kinh. Trong đĩ, một neuron sẽ gửi tín hiệu đến neuron khác nếu nĩ nhận được tín hiệu lớn hơn điện thế kích hoạt. Mơ hình này được gọi là mơ hình Wilson – Cowan. Từ những năm 1970 và 1980 trở đi, một số nhà nghiên cứu bắt đầu sử dụng các hàm Sigmoid trong các cơng thức của mạng nơ-ron nhân tạo, lấy cảm hứng từ các mạng neuron sinh học. Ở nghiên cứu này, học viên sử dụng hàm sigmod cho quá trình đào tạo mạng.
2.1.6.4. Quá trình học (Learning)
Một mạng nơron nhân tạo được xây dựng thơng qua một quá trình học từ tập các mẫu huấn luyện. Bản chất của q trình học chính là q trình cập nhật điều chỉnh trọng số liên kết giữa các neuron sao cho sai số của hàm lỗi nhỏ nhất và tìm cách tối ưu hàm lỗi đĩ để được kết quả hợp lý nhất cĩ thể. Cĩ các loại học chính ở hình 2.4: học cĩ giám sát, học khơng cĩ giám sát và học tăng cường.
Hình 2.5 Các phương pháp học của mạng neuron nhân tạo Phương pháp Phương pháp học Học cĩ giám sát Dự đốn kết quả đầu ra Học khơng cĩ giám sát Phân nhĩm dữ liệu Học củng cố Xác định hành vi
Học cĩ giám sát (Supervised learning)
Supervised learning là thuật tốn dự đốn đầu ra (outcome) của một dữ liệu mới (new input) dựa trên các cặp (input, outcome) đã biết từ trước. Cặp dữ liệu này cịn được gọi là (data, label), tức (dữ liệu, nhãn). Supervised learning là nhĩm phổ biến nhất trong các thuật tốn Machine Learning.
Một cách tốn học, Supervised learning là khi chúng ra cĩ một tập hợp biến đầu vào X= {x1, x2, …, xN} và một tập hợp nhãn tương ứng Y={y1, y2, …, yN}, trong đĩ xi,yi là các vector. Các cặp dữ liệu biết trước (xi, yi) ∈X×Y được gọi là tập training data (dữ liệu huấn luyện). Từ tập training data này, chúng ta cần tạo ra một hàm số ánh xạ mỗi phần tử từ tập X sang một phần tử (xấp xỉ) tương ứng của tập Y:
yi≈f(xi), ∀i=1, 2, …, N.
Mục đích là xấp xỉ hàm số f thật tốt để khi cĩ một dữ liệu x mới, chúng ta cĩ thể tính được nhãn tương ứng của nĩ y=f(x).
Một ví dụ điển hình, bản thân thuật tốn dị tìm các khuơn mặt trong 1 bức ảnh cũng là một thuật tốn Supervised learning với training data (dữ liệu học) là hàng ngàn cặp (ảnh, mặt người) và (ảnh, khơng phải mặt người) được đưa vào. Chú ý là dữ liệu này chỉ phân biệt mặt người và khơng phải mặt người mà khơng phân biệt khuơn mặt của những người khác nhau.
Thuật tốn supervised learning cịn được tiếp tục chia nhỏ ra thành hai loại chính:
Classification (Phân loại):
Một bài tốn được gọi là classification nếu các label của input data được chia thành một số hữu hạn nhĩm. Ví dụ: Gmail xác định xem một email cĩ phải là spam hay khơng; các hãng tín dụng xác định xem một khách hàng cĩ khả năng thanh tốn nợ hay khơng. Ba ví dụ phía trên được chia vào loại này.
Regression (Hồi quy):
Nếu label khơng được chia thành các nhĩm mà là một giá trị thực cụ thể. Ví dụ: một căn nhà rộng x m2, cĩ y phịng ngủ và cách trung tâm thành phố z km sẽ cĩ giá là bao nhiêu?
Gần đây Microsoft cĩ một ứng dụng dự đốn giới tính và tuổi dựa trên khuơn mặt. Phần dự đốn giới tính cĩ thể coi là thuật tốn Classification, phần dự đốn tuổi cĩ thể coi là thuật tốn Regression. Chú ý rằng phần dự đốn tuổi cũng cĩ thể coi
là Classification nếu ta coi tuổi là một số nguyên dương khơng lớn hơn 150, chúng ta sẽ cĩ 150 class (lớp) khác nhau.
Học khơng giám sát (Unsupervised learning)
Trong thuật tốn này, chúng ta khơng biết được outcome hay nhãn mà chỉ cĩ dữ liệu đầu vào. Thuật tốn unsupervised learning sẽ dựa vào cấu trúc của dữ liệu để thực hiện một cơng việc nào đĩ, ví dụ như phân nhĩm (clustering) hoặc giảm số chiều của dữ liệu (dimension reduction) để thuận tiện trong việc lưu trữ và tính tốn.
Một cách tốn học, Unsupervised learning là khi chúng ta chỉ cĩ dữ liệu vào X mà khơng biết nhãn Y tương ứng.
Những thuật tốn loại này được gọi là Unsupervised learning vì khơng giống như Supervised learning, chúng ta khơng biết câu trả lời chính xác cho mỗi dữ liệu đầu vào. Giống như khi ta học, khơng cĩ thầy cơ giáo nào chỉ cho ta biết đĩ là chữ A hay chữ B. Cụm khơng giám sát được đặt tên theo nghĩa này.
Các bài tốn Unsupervised learning được tiếp tục chia nhỏ thành hai loại:
Clustering (phân nhĩm)
Một bài tốn phân nhĩm tồn bộ dữ liệu X thành các nhĩm nhỏ dựa trên sự liên quan giữa các dữ liệu trong mỗi nhĩm. Ví dụ: phân nhĩm khách hàng dựa trên hành vi mua hàng. Điều này cũng giống như việc ta đưa cho một đứa trẻ rất nhiều mảnh ghép với các hình thù và màu sắc khác nhau, ví dụ tam giác, vuơng, trịn với màu xanh và đỏ, sau đĩ yêu cầu trẻ phân chúng thành từng nhĩm. Mặc dù khơng cho trẻ biết mảnh nào tương ứng với hình nào hoặc màu nào, nhiều khả năng chúng vẫn cĩ thể phân loại các mảnh ghép theo màu hoặc hình dạng.
Association
Là bài tốn khi chúng ta muốn khám phá ra một quy luật dựa trên nhiều dữ liệu cho trước. Ví dụ: những khách hàng nam mua quần áo thường cĩ xu hướng mua thêm đồng hồ hoặc thắt lưng; những khán giả xem phim Spider Man thường cĩ xu hướng xem thêm phim Bat Man, dựa vào đĩ tạo ra một hệ thống gợi ý khách hàng (Recommendation System), thúc đẩy nhu cầu mua sắm.
Học bán giám sát (Semi-Supervised Learning)
Các bài tốn khi chúng ta cĩ một lượng lớn dữ liệu X nhưng chỉ một phần trong chúng được gán nhãn được gọi là Semi-Supervised Learning. Những bài tốn thuộc nhĩm này nằm giữa hai nhĩm được nêu bên trên.
Một ví dụ điển hình của nhĩm này là chỉ cĩ một phần ảnh hoặc văn bản được gán nhãn (ví dụ bức ảnh về người, động vật hoặc các văn bản khoa học, chính trị) và phần lớn các bức ảnh/văn bản khác chưa được gán nhãn được thu thập từ internet. Thực tế cho thấy rất nhiều các bài tốn Machine Learning thuộc vào nhĩm này vì việc thu thập dữ liệu cĩ nhãn tốn rất nhiều thời gian và cĩ chi phí cao. Rất nhiều loại dữ liệu thậm chí cần phải cĩ chuyên gia mới gán nhãn được (ảnh y học chẳng hạn). Ngược lại, dữ liệu chưa cĩ nhãn cĩ thể được thu thập với chi phí thấp từ internet.
Học củng cố (Reinforcement Learning)
Reinforcement learning là các bài tốn giúp cho một hệ thống tự động xác định hành vi dựa trên hồn cảnh để đạt được lợi ích cao nhất (maximizing the performance). Là phương pháp đưa ra quyết định thơng qua việc thử-sai đĩ là quá trình thực hiện tốt một nhiệm vụ bằng cách tương tác với mơi trường thơng qua hành động và nhận được phần thưởng. Hiểu cách khác là thực hiện hành động phù hợp để tối đa hĩa phần thưởng trong một tình huống cụ thể. Học tăng cường khác với học cĩ giám sát ở chỗ trong học cĩ giám sát, dữ liệu huấn luyện cĩ gắn nhãn, do đĩ mơ hình được huấn luyện cĩ kết quả chính xác hơn. Cịn học tăng cường khơng cĩ câu trả lời nhưng tác nhân củng cố quyết định phải làm gì để thực hiện nhiệm vụ đã cho. Trong trường hợp khơng cĩ tập dữ liệu đào tạo, nĩ nhất định phải học hỏi kinh nghiệm của nĩ. Hiện tại, Reinforcement learning chủ yếu được áp dụng vào Lý Thuyết Trị Chơi (Game Theory), các thuật tốn cần xác định nước đi tiếp theo để đạt được điểm số cao nhất.