Mạng lưới thần kinh nhân tạo
Mạng nơ ron nhân tạo, hay gọi tắt là mạng nơ ron không phải là một ý tưởng mới. Nó đã được khoảng 80 năm.
Mãi cho đến năm 2011, khi Deep Neural Networks trở nên phổ biến với việc sử dụng các kỹ thuật mới, tính sẵn có của tập dữ liệu khổng lồ và máy tính mạnh mẽ.
Một mạng lưới thần kinh bắt chước một tế bào thần kinh, có các đuôi gai, một hạt nhân, sợi trục và sợi trục tận cùng.
Đối với một mạng, chúng ta cần hai tế bào thần kinh. Những tế bào thần kinh này truyền thông tin qua khớp thần kinh giữa các sợi nhánh của một sợi trục này và sợi trục tận cùng của một sợi trục thần kinh khác.
Một mô hình có thể xảy ra của một tế bào thần kinh nhân tạo trông như thế này -
Một mạng nơ-ron sẽ giống như hình dưới đây:
Các vòng tròn là các nơ-ron hoặc các nút, với các chức năng của chúng trên dữ liệu và các đường / cạnh kết nối chúng là trọng số / thông tin được truyền đi.
Mỗi cột là một lớp. Lớp đầu tiên của dữ liệu là lớp đầu vào. Sau đó, tất cả các lớp giữa lớp đầu vào và lớp đầu ra là các lớp ẩn.
Nếu bạn có một hoặc một vài lớp ẩn, thì bạn có một mạng nơron nông. Nếu bạn có nhiều lớp ẩn, thì bạn có một mạng lưới thần kinh sâu.
Trong mô hình này, bạn có dữ liệu đầu vào, bạn cân nó và chuyển nó qua một hàm trong nơ-ron được gọi là hàm ngưỡng hoặc hàm kích hoạt.
Về cơ bản, nó là tổng của tất cả các giá trị sau khi so sánh nó với một giá trị nhất định. Nếu bạn kích hoạt một tín hiệu, thì kết quả là (1) hết, hoặc không có gì được bắn ra, thì (0). Điều đó sau đó được tính trọng số và được chuyển đến nơ-ron tiếp theo, và cùng một loại chức năng được chạy.
Chúng ta có thể có một hàm sigmoid (s-shape) làm hàm kích hoạt.
Đối với các trọng số, chúng chỉ là ngẫu nhiên để bắt đầu và chúng là duy nhất cho mỗi đầu vào vào nút / nơ-ron.
Trong "nguồn cấp dữ liệu chuyển tiếp" điển hình, loại mạng nơ-ron cơ bản nhất, bạn có thông tin của mình được chuyển thẳng qua mạng bạn đã tạo và bạn so sánh kết quả với những gì bạn hy vọng đầu ra sẽ sử dụng dữ liệu mẫu của mình.
Từ đây, bạn cần điều chỉnh trọng lượng để giúp bạn có được đầu ra phù hợp với sản lượng mong muốn.
Hành động gửi dữ liệu trực tiếp qua mạng nơ-ron được gọi là feed forward neural network.
Dữ liệu của chúng tôi đi từ đầu vào, đến các lớp, theo thứ tự, sau đó đến đầu ra.
Khi chúng ta quay ngược lại và bắt đầu điều chỉnh trọng lượng để giảm thiểu tổn thất / chi phí, điều này được gọi là back propagation.
Đây là optimization problem. Với mạng nơ-ron, trong thực tế, chúng ta phải xử lý hàng trăm nghìn biến, hoặc hàng triệu, hoặc nhiều hơn.
Giải pháp đầu tiên là sử dụng phương pháp tối ưu hóa gradient ngẫu nhiên. Bây giờ, có các tùy chọn như AdaGrad, Adam Optimizer, v.v. Dù bằng cách nào, đây là một hoạt động tính toán lớn. Đó là lý do tại sao Mạng thần kinh hầu như bị bỏ lại trên giá hơn nửa thế kỷ. Chỉ rất gần đây, chúng tôi thậm chí có sức mạnh và kiến trúc trong máy của mình để xem xét thực hiện các hoạt động này và các tập dữ liệu có kích thước phù hợp để khớp.
Đối với các nhiệm vụ phân loại đơn giản, mạng nơ-ron có hiệu suất tương đối gần với các thuật toán đơn giản khác như K Nearest Neighbors. Tiện ích thực sự của mạng nơ-ron được thực hiện khi chúng ta có dữ liệu lớn hơn nhiều và các câu hỏi phức tạp hơn nhiều, cả hai đều vượt trội hơn các mô hình học máy khác.