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

HD3 trần ngọc tiến nghiên cứu một số ứng dụng của mạng thần kinh nhân tạo trong nhận dạng số viết tay và phát hiện nguy cơ mắc bệnh

127 8 0

Đ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

Tiêu đề Nghiên Cứu Một Số Ứng Dụng Của Mạng Thần Kinh Nhân Tạo Trong Nhận Dạng Số Viết Tay Và Phát Hiện Nguy Cơ Mắc Bệnh
Tác giả Nguyễn Văn Tài, Lê Quang Huy, Hà Ngọc Khánh
Người hướng dẫn TS. Trần Ngọc Tiến
Trường học Trường Đại Học Công Nghiệp Hà Nội
Chuyên ngành Cơ Khí
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 127
Dung lượng 4,25 MB

Cấu trúc

  • CHƯƠNG 1 TỔNG QUAN VỀ TRÍ TUỆ NHÂN TẠO (10)
    • 1.1 Lịch sử phát triển của trí tuệ nhân tạo (10)
      • 1.1.1 Trí tuệ nhân tạo (14)
      • 1.1.2 Học máy (23)
      • 1.1.3 Học sâu (28)
    • 1.2 Đặt vấn đề (33)
    • 1.3 Tập dữ liệu (34)
    • 1.4 Phương pháp nghiên cứu (35)
    • 1.5 Phạm vi, giới hạn nghiên cứu (36)
  • CHƯƠNG 2 CƠ SỞ LÝ THUYẾT (37)
    • 2.1 Artificial neural network (ANN) (37)
    • 2.2 Cơ sở toán học (39)
      • 2.2.1 Lan truyền tiến(Feedforward) (39)
      • 2.2.2 Lan truyền ngược ( Backpropagation ) (43)
      • 2.2.3 Xử lí ảnh (49)
    • 2.3 Áp dụng cơ sở lý thuyết vào bài toán (50)
      • 2.3.1 Cơ sở toán học của bài toán nhận diện chữ số (50)
      • 2.3.2 Cơ sở toán học của bài toán dự đoán nguy cơ mắc bệnh (55)
    • 2.4 Thực hiện bài toán (59)
  • CHƯƠNG 3 CHẾ TẠO VÀ GIA CÔNG (63)
    • 3.1 Tính toán, thiết kế (63)
    • 3.2 Chế tạo và gia công giá đỡ (65)
      • 3.2.1 Đầu kẹp điện thoại (65)
      • 3.2.2 Chân đế để bàn (66)
      • 3.2.3 Tay kẹp điện thoại (67)
      • 3.2.4 Gá kẹp điện thoại (68)
    • 3.3 Tổng kết (70)
  • CHƯƠNG 4 LẬP TRÌNH, THỬ NGHIỆM VÀ ĐÁNH GIÁ HỆ THỐNG (71)
    • 4.1 Giới thiệu phần mềm được sử dụng (71)
    • 4.2 Lập trình các bài toán (72)
      • 4.2.1 Bài toán 1: Nhận diện chữ số viết tay (72)
      • 4.2.2 Bài toán 2 : Dự đoán xác suất mắc bệnh của một người dựa trên các chỉ số sức khỏe cụ thể (95)
    • 4.3 Thử nghiệm và đánh giá hệ thống (115)
  • KẾT LUẬN (70)
  • PHỤ LỤC (126)

Nội dung

TỔNG QUAN VỀ TRÍ TUỆ NHÂN TẠO

Lịch sử phát triển của trí tuệ nhân tạo

Trí tuệ nhân tạo (AI-Artificial intelligence) là một ngành học trẻ có tuổi đời

Trong suốt 80 năm qua, lĩnh vực trí tuệ nhân tạo đã phát triển thành một tập hợp các khoa học và kỹ thuật, bao gồm logic toán học, thống kê, xác suất, sinh học thần kinh tính toán và khoa học máy tính, nhằm bắt chước khả năng nhận thức của con người Khởi nguồn từ nhu cầu trong Chiến tranh thế giới thứ hai, sự phát triển của trí tuệ nhân tạo gắn liền với sự tiến bộ của máy tính, cho phép chúng thực hiện những nhiệm vụ phức tạp mà trước đây chỉ con người mới có thể đảm nhận.

Mặc dù sự tự động hóa đang phát triển, nhưng nó vẫn chưa đạt được trí thông minh của con người theo nghĩa chặt chẽ, điều này dẫn đến sự chỉ trích từ một số chuyên gia Giai đoạn cuối cùng trong nghiên cứu về AI "mạnh", tức là khả năng tự chủ trong việc bối cảnh hóa các vấn đề chuyên ngành khác nhau, vẫn không thể so sánh với những thành tựu hiện tại của AI "yếu" hoặc "vừa phải", vốn rất hiệu quả trong quá trình đào tạo của chúng.

Lịch sử phát triển của trí tuệ nhân tạo có thể chia ra làm 3 giai đoạn:

Giai đoạn 1(1940-1960): Sự ra đời của AI trong bối cảnh của điều khiển học

Giai đoạn từ năm 1940 đến năm 1960 chứng kiến sự phát triển mạnh mẽ của công nghệ, đặc biệt là do ảnh hưởng của Chiến tranh thế giới thứ hai, cùng với mong muốn tìm hiểu sự kết hợp giữa máy móc và sinh vật hữu cơ Norbert Wiener, một nhà tiên phong trong lĩnh vực điều khiển học, đã đặt ra mục tiêu thống nhất lý thuyết toán học, điện tử và tự động hóa thành "một lý thuyết toàn bộ về điều khiển và truyền thông" cho cả động vật và máy móc.

Hình 1-1 Warren McCulloch (phải) và Walter Pitts (trái)

10 toán học và máy tính đầu tiên của nơ-ron sinh học (nơ-ron chính thức) đã được Warren McCulloch và Walter Pitts phát triển vào đầu năm 1943

Vào đầu năm 1950, John Von Neumann và Alan

Turing không phải là người sáng tạo ra thuật ngữ trí tuệ nhân tạo (AI), nhưng ông được coi là cha đẻ của công nghệ nền tảng cho AI Ông đã thực hiện cuộc chuyển đổi quan trọng từ máy tính sử dụng logic thập phân thế kỷ 19, xử lý các giá trị từ 0 đến 9, sang máy móc sử dụng logic nhị phân dựa trên đại số Boolean, cho phép xử lý các chuỗi 0 và 1 hiệu quả hơn.

Thuật ngữ "AI" được gán cho John McCarthy của MIT, trong khi Marvin Minsky từ Đại học Carnegie-Mellon định nghĩa nó là việc xây dựng các chương trình máy tính thực hiện nhiệm vụ hiện đang do con người đảm nhận, bao gồm các quá trình tinh thần cao như học tập, tri giác, tổ chức trí nhớ và lý luận phê bình Hội nghị mùa hè năm 1956 tại trường Cao đẳng Dartmouth, do Viện Rockefeller tài trợ, được coi là sự kiện khởi đầu của lĩnh vực trí tuệ nhân tạo, nổi bật với thành công của nó không chỉ là một hội nghị mà còn là một hội thảo.

Vào đầu những năm 1960, sự phổ biến của công nghệ đã giảm sút do máy tính có bộ nhớ hạn chế, gây khó khăn trong việc sử dụng ngôn ngữ máy tính Tuy nhiên, một số nền tảng vẫn tồn tại đến ngày nay, như cây giải pháp để giải quyết vấn đề IPL (ngôn ngữ xử lý thông tin), với chương trình LTM (máy lý thuyết logic) được viết vào năm 1956 nhằm chứng minh các định lý toán học.

Giai đoạn 2 (1960-1980) : Hệ chuyên gia

Năm 1968, Stanley Kubrick đã đạo diễn bộ phim "Cuộc phiêu lưu không gian 2001", trong đó chiếc máy tính HAL 9000 (chỉ cách IBM một chữ cái) đặt ra những câu hỏi đạo đức quan trọng về trí tuệ nhân tạo Bộ phim khám phá khả năng tinh vi của AI và những mối nguy hiểm tiềm ẩn đối với nhân loại Mặc dù tác động của bộ phim không mang tính khoa học, nhưng nó đã góp phần làm nổi bật và phổ biến chủ đề AI trong xã hội.

Hình 1-2 John Von Neumann và Alan Turing

11 học viễn tưởng Philip K Dick, người sẽ không ngừng tự hỏi liệu một ngày nào đó, cỗ máy sẽ trải qua những cung bậc cảm xúc

Vào cuối những năm 1970, sự xuất hiện của các bộ vi xử lý đầu tiên đã đánh dấu sự trở lại thành công của trí tuệ nhân tạo (AI), mở ra thời kỳ hoàng kim cho các hệ thống chuyên gia.

Con đường phát triển trí tuệ nhân tạo thực sự bắt đầu tại MIT vào năm 1965 với DENDRAL, một hệ thống chuyên gia trong lĩnh vực hóa học phân tử, và tiếp tục tại Đại học Stanford vào năm 1972 với MYCIN, hệ thống chẩn đoán bệnh máu và kê đơn thuốc Những hệ thống này sử dụng "công cụ suy luận" được lập trình để phản ánh khả năng suy luận logic của con người, cho phép cung cấp câu trả lời chuyên môn cao thông qua việc nhập dữ liệu.

Giai đoạn 3(2010 → nay) : Sự nở rộ mới dựa trên dữ liệu khổng lồ và sức mạnh tính toán mới

Hai yếu tố giải thích cho sự bùng nổ mới của ngành này vào khoảng năm 2010

- Trước hết, truy cập vào khối lượng lớn dữ liệu

Việc phát hiện ra hiệu suất cao của bộ vi xử lý card đồ họa đã cách mạng hóa tốc độ tính toán cho các thuật toán học máy Trước năm 2010, quá trình xử lý toàn bộ mẫu có thể mất vài tuần, nhưng nhờ sức mạnh tính toán vượt trội của các thẻ này, có khả năng thực hiện hơn một nghìn tỷ giao dịch mỗi giây, đã mang lại tiến bộ đáng kể với chi phí tài chính hợp lý, chỉ dưới 1000 euro cho mỗi thẻ.

Thiết bị công nghệ mới đã đạt nhiều thành công nổi bật, thu hút sự chú ý của công chúng và gia tăng đầu tư Năm 2011, AI Watson của IBM đã chiến thắng trong trận đấu Jeopardy! với hai nhà vô địch Đến năm 2012, Google X đã phát triển AI có khả năng nhận diện mèo trong video, sử dụng hơn 16.000 bộ vi xử lý cho nhiệm vụ này, cho thấy tiềm năng vượt bậc của máy móc trong việc học hỏi Năm 2016, AlphaGO, AI của Google chuyên về cờ vây, đã đánh bại nhà vô địch châu Âu và nhà vô địch thế giới, khẳng định sự tiến bộ vượt bậc của trí tuệ nhân tạo.

Trò chơi cờ vây có sự phức tạp vượt trội hơn cờ vua, và điều này đã được chứng minh qua thành công của AlphaGo Zero Sự kỳ diệu này xuất phát từ một sự thay đổi hoàn toàn trong mô hình từ các hệ thống chuyên gia, chuyển sang một phương pháp quy nạp Thay vì dựa vào các quy tắc được mã hóa, máy tính giờ đây tự khám phá và phát hiện các quy tắc thông qua việc phân tích và phân loại một lượng lớn dữ liệu.

Học sâu là một trong những kỹ thuật hứa hẹn nhất trong lĩnh vực học máy, đặc biệt trong các ứng dụng như nhận dạng giọng nói và hình ảnh Vào năm 2003, Geoffrey Hinton, Yoshua Bengio và Yann LeCun đã khởi xướng một chương trình nghiên cứu nhằm cải tiến các mạng nơ-ron Các thí nghiệm đồng thời tại Microsoft, Google và IBM, dưới sự hỗ trợ của phòng thí nghiệm Toronto, đã chứng minh rằng phương pháp học này có thể giảm một nửa tỷ lệ lỗi trong nhận dạng giọng nói, trong khi nhóm nghiên cứu về nhận dạng hình ảnh của Hinton cũng đạt được những kết quả tương tự.

Hình 1-3 Google's AlphaGo beats Go master Lee Se-dol

Trí tuệ nhân tạo (AI) là khả năng mà máy tính hoặc robot có thể thực hiện các nhiệm vụ thường do con người đảm nhận, nhờ vào khả năng tư duy và sáng suốt của chúng.

Sự phát triển của các thuật toán trí tuệ nhân tạo phức tạp đã dẫn đến việc tạo ra máy móc và robot ứng dụng trong nhiều lĩnh vực như nông nghiệp, chăm sóc sức khỏe, tiếp thị, phân tích kinh doanh và nhiều ngành khác.

1.1.1.2 AI hoạt động như thế nào?

Đặt vấn đề

Trong thời đại công nghệ 4.0, sự phát triển của dữ liệu số hóa đang diễn ra mạnh mẽ Tuy nhiên, việc nhập liệu vào cơ sở dữ liệu chủ yếu vẫn được thực hiện bằng tay, dẫn đến tốn nhiều thời gian và công sức, đồng thời tiềm ẩn nguy cơ sai sót cao Các tổ chức nghiên cứu thị trường, trường học và bệnh viện thường gặp khó khăn trong việc xử lý thông tin từ phiếu khảo sát, hồ sơ dự thi và hồ sơ bệnh án của bệnh nhân.

Các ngân hàng, công ty bảo hiểm và nhà cung cấp dịch vụ viễn thông thường phải thu thập thông tin từ chứng minh nhân dân của khách hàng, và quy trình này yêu cầu nhập từng trường thông tin vào hệ thống phần mềm.

Việc quản lý 33 tài liệu có thể tốn nhiều thời gian và dễ gây ra sai sót Do đó, việc sử dụng phần mềm nhận dạng chữ số viết tay trở nên cần thiết để giảm thiểu những vấn đề này.

Ngoài việc nhận dạng chữ số viết tay, dự đoán khả năng mắc bệnh từ các chỉ số sức khỏe như mỡ máu, men gan và axit uric ngày càng trở nên quan trọng Trong bối cảnh đời sống hiện đại không còn lo ngại về lương thực, chăm sóc sức khỏe đã trở thành ưu tiên hàng đầu của nhiều người Việc dự đoán này không chỉ giúp bệnh nhân và bác sĩ có những giải pháp giảm thiểu nguy cơ mắc bệnh mà còn tìm ra phương án điều trị hiệu quả nhất.

Dựa trên những vấn đề đã nêu, nhóm đề xuất nghiên cứu với chủ đề: “Ứng dụng mạng lưới thần kinh nhân tạo trong việc nhận dạng chữ số viết tay và phát hiện nguy cơ mắc bệnh.” Mạng thần kinh nhân tạo (Artificial Neural Networks) sẽ được áp dụng để cải thiện độ chính xác trong nhận diện chữ số viết tay và hỗ trợ trong việc phát hiện sớm các nguy cơ bệnh tật.

Mạng nơ-ron nhân tạo (ANN) có khả năng nhận diện chữ số viết tay và dự đoán nguy cơ mắc bệnh dựa trên các chỉ số mà người dùng cung cấp, giúp giải quyết hiệu quả hai vấn đề đã nêu.

Tập dữ liệu

Nhận dạng ký tự viết tay là một lĩnh vực nghiên cứu quan trọng, bao gồm các phương pháp triển khai chi tiết với các bộ dữ liệu học tập chính, thuật toán phổ biến, tính năng chia tỷ lệ và phương pháp trích xuất tính năng Tập dữ liệu MNIST, một phần của tập dữ liệu NIST, chứa 70.000 hình ảnh chữ số viết tay trong hộp giới hạn 28x28 pixel và chống răng cưa, với mỗi hình ảnh đi kèm giá trị Y tương ứng là chữ số.

Trong nghiên cứu này, nhóm chúng tôi sử dụng tập dữ liệu MNIST với 42.000 mẫu để đào tạo và thẩm định mô hình nơ-ron nhân tạo tự xây dựng mà không sử dụng các công cụ như Tensorflow hay Keras, chỉ dựa vào các phương trình đại số tuyến tính Tập thử nghiệm gồm 28.000 mẫu được dùng để đánh giá hiệu suất của mô hình đã được xây dựng Tập thử nghiệm này đại diện cho dữ liệu từ khách hàng, giúp xác định xem mô hình hoạt động hiệu quả và đáp ứng đúng yêu cầu của khách hàng hay không.

Phương pháp nghiên cứu

Xây dựng một mạng nơ ron đơn giản từ tập dữ liệu MNIST bằng cách sử dụng mạng neural network, là hệ thống tính toán mô phỏng hoạt động của các nơ-ron trong hệ thần kinh Neural là tính từ của nơ-ron, trong khi network chỉ cấu trúc và cách các nơ-ron liên kết với nhau.

Hình 1-21 Tập dữ liệu MNIST

Nơ-ron là đơn vị cơ bản của hệ thống thần kinh và đóng vai trò quan trọng trong não, với khoảng 10 triệu nơ-ron trong đầu mỗi người, mỗi nơ-ron kết nối với khoảng 10.000 nơ-ron khác Mỗi nơ-ron bao gồm thân (soma) chứa nhân, nhận tín hiệu đầu vào qua sợi nhánh (dendrites) và truyền tín hiệu đầu ra qua sợi trục (axon) đến các nơ-ron khác Tóm lại, nơ-ron hoạt động như một cầu nối thông tin, nhận dữ liệu qua sợi nhánh và gửi đi qua sợi trục.

Mạng nơ-ron chỉ lấy cảm hứng từ cấu trúc và hoạt động của não bộ, chứ không hoàn toàn mô phỏng các chức năng của nó Nhiệm vụ chính của chúng ta là sử dụng mô hình này để giải quyết các bài toán cụ thể Đầu vào là các giá trị từ tập dữ liệu, sau đó đi qua các lớp ẩn với các trọng số (w, b) và các hàm kích hoạt, nhằm thu được các giá trị mong muốn Kết quả đầu ra là các dự đoán về con số hoặc xác suất mắc bệnh dựa trên từng bài toán cụ thể.

Phạm vi, giới hạn nghiên cứu

Hệ thống nhận diện chữ số

✓ Hệ thống nhận diện được chữ số viết tay từ ảnh và phần mềm, dễ dàng sử dụng

✓ Độ chính xác của kết quả dự đoán cao

✓ Không sử dụng lớp tích chập

Hệ thống dự đoán nguy cơ mắc bệnh

✓ Trả ra kết quả dự đoán từ dữ liệu được cung cấp đạt được độ chính xác cao

✓ Không sử dụng lớp tích chập

CƠ SỞ LÝ THUYẾT

Artificial neural network (ANN)

Mạng nơ-ron nhân tạo (ANN) là hệ thống được thiết kế dựa trên hoạt động của não người, cho phép tự điều chỉnh cấu trúc nội bộ để đạt được mục tiêu chức năng Chúng rất hiệu quả trong việc giải quyết các vấn đề phi tuyến và có khả năng xây dựng lại các quy tắc mờ để tìm ra giải pháp tối ưu Các thành phần cơ bản của ANN bao gồm các nút (hay phần tử xử lý) và các kết nối giữa chúng Mỗi nút nhận thông tin từ các nút khác và môi trường, đồng thời có đầu ra để giao tiếp với các nút khác hoặc môi trường Mỗi nút hoạt động thông qua một hàm f, biến đổi đầu vào thành đầu ra Các kết nối giữa các nút được đặc trưng bởi độ mạnh, với giá trị dương cho kết nối kích thích và giá trị âm cho kết nối ức chế Đặc biệt, các kết nối này có khả năng tự điều chỉnh theo thời gian, khởi động quá trình học tập trong toàn bộ ANN.

Mạng nơ-ron nhân tạo (ANN) có khả năng nhận dạng mẫu, đóng vai trò quan trọng trong việc phân loại và ra quyết định Chúng là những bộ phân loại mạnh mẽ, có khả năng tổng quát hóa và xử lý hiệu quả từ các đầu vào lớn và dữ liệu không rõ ràng ANN hoạt động như những cơ chế mô hình hóa đặc biệt, giúp cải thiện độ chính xác trong các ứng dụng thực tiễn.

Hình 2-1 Mạng nơ-ron nhân tạo đơn giản

Kỹ năng giải các bài toán phi tuyến rất quan trọng, đặc biệt khi hệ thống không phức tạp và hàm biểu thị là tuyến tính Trong trường hợp này, hai phương trình sẽ được áp dụng để phân tích và giải quyết vấn đề hiệu quả.

Hệ thống phức tạp và phi tuyến thường vi phạm các điều kiện nhất định, điều này làm cho hàm số y = f(x) càng phi tuyến tính càng có giá trị trong việc sử dụng ANN để thử nghiệm và hiểu các quy tắc, cũng như điều chỉnh hành vi bên trong hộp đen Nếu chúng ta xem xét một biểu đồ Descartes, trong đó trục x đại diện cho số tiền mà một người nhận được và trục y đo lường mức độ hạnh phúc mà người đó trải nghiệm, ta có thể thấy mối liên hệ giữa tài chính và hạnh phúc.

Mạng nơron nhân tạo (ANN) có khả năng thích nghi và tự động khám phá các quy tắc mờ giữa các bộ dữ liệu khác nhau Điều này có nghĩa là khi ANN nhận được một loại dữ liệu nhất định, nó sẽ tập trung vào những quy tắc cụ thể; tuy nhiên, nếu sau đó ANN nhận được dữ liệu khác, nó sẽ điều chỉnh và cập nhật các quy tắc này để phù hợp với thông tin mới.

Khi nhận được dữ liệu mới và dữ liệu khác, ANN sẽ tự động điều chỉnh các quy tắc của mình để tích hợp dữ liệu cũ với dữ liệu mới mà không cần sự hướng dẫn bên ngoài.

Việc duy trì cập nhật dữ liệu liên tục dưới sự quản lý tạo ra một ngân hàng động, trong đó các quy tắc của nó được ANN tự động điều chỉnh khi vấn đề phát triển theo thời gian ANN tự quản lý quá trình chuyển đổi từ phân loại ban đầu sang các phân loại muộn hơn, phức tạp hơn, sử dụng các trường hợp mới làm dữ liệu để hiểu rõ hơn về danh mục mới.

Mạng nơron nhân tạo có thể tổng quát hóa, sau đó dự đoán và nhận ra

Khi mạng nơ-ron nhân tạo (ANN) được huấn luyện với dữ liệu phù hợp để xác định các quy tắc của một hiện tượng cụ thể, nó có khả năng tổng quát hóa chính xác trên các dữ liệu mới mà nó chưa từng tiếp xúc, bao gồm cả dữ liệu ẩn và không đầy đủ.

Một tính năng đặc biệt của phân tích mạng nơ-ron: Lựa chọn biến

Mạng nơ-ron nhân tạo (ANN) có khả năng xử lý đồng thời một khối lượng lớn các biến phi tuyến, mang lại lợi thế vượt trội so với các mô hình thống kê truyền thống khi lượng thông tin tăng lên và tính phi tuyến trở nên phổ biến Với ANN, số lượng và bản chất của các biến không còn là vấn đề quan trọng.

Cơ sở toán học

Dựa trên mô hình tế bào thần kinh con người, chúng ta có thể xây dựng một mạng nơ ron nhân tạo đơn giản với hai tín hiệu đầu vào (x₁, x₂) và các trọng số (w, b).

Tại sao cần thêm các hệ số tự do bias (b w ) 0

Nếu không có bias, hệ thống sẽ chỉ tạo ra một mô hình tuyến tính với phương trình tổng quát là y = w * x, dẫn đến một đường thẳng đi qua gốc tọa độ Điều này hạn chế khả năng biểu diễn đầy đủ các đặc tính của một phương trình đường thẳng và làm cho việc tìm ra phương trình mong muốn trở nên khó khăn.

Từ mạng nơ-ron nhân tạo đơn giản này chúng ta có thể xây dựng được một mạng nơ-ron nhân tạo tổng quát

Hình 2-3 Mạng thần kinh nơ-ron

Hình 2-4 Mô hình tổng quát của mạng nơ-ron nhân tạo

Mô hình tổng quát của mạng nơ-ron bao gồm lớp đầu vào với n tín hiệu, k lớp ẩn chứa m node, và lớp đầu ra Công thức tại lớp thứ [i] trong mạng nơ-ron được xác định để xử lý thông tin hiệu quả.

Tất cả những giá trị < 0 thì đều trả về 0 và ngược lại những giá trị > 0 thì giữ nguyên Hàm ReLU giữ nguyên kích thước của ma trận Z

Softmax xử lý từng cột dữ liệu một, bằng cách tính toán cấp số nhân của từng phần tử và chia cho tổng cấp số nhân của tất cả các phần tử trong cột đầu vào Kết quả cuối cùng là một cột xác suất có giá trị từ 0 đến 1.

Sigmol được áp dụng trong việc dự đoán phân loại nhị phân hoặc đa lớp, đặc biệt là trong các bài toán có n lớp với các giá trị nhị phân 0 và 1 Giá trị đầu ra của Sigmol là một số thực nằm trong khoảng từ 0 đến 1, giúp xác định xác suất cho từng lớp trong phân loại.

0 - 1 thể hiện xác xuất của một lớp)

Hình 2-7 Hàm sigmol Hình 2-6 Hàm softmax

❖ Hàm mất mát (Loss function)

We need a function to evaluate the loss of the logistic regression model, represented as y = σ(w · x + b), with the goal of minimizing the difference between predicted and actual values For each data point (x_i, y_i), the loss function is calculated using the Cross Entropy method.

Khi giá trị của hàm L giảm, giá trị y sẽ càng gần với giá trị thực, trong khi khi hàm L tăng, giá trị y sẽ càng xa giá trị thực Nói cách khác, một hàm L nhỏ giúp mô hình dự đoán chính xác hơn với giá trị thực.

=> Ta cần tìm giá trị nhỏ nhất cho hàm Loss function bằng thuật toán Gradient Descent(GD)

❖ Đạo hàm ngược của hàm Softmax

Giá trị y i tại điểm ( x y i , i )sau khi đi qua hàm Softmax:

= Để có thể thực hiện lan truyền ngược đầu tiên chúng ta cần phải tìm đạo hàm của Softmax Bước đầu tiên được chia làm 2 trường hợp :

Chúng ta áp dụng công thức đạo hàm của một thương với y i, sau đó thực hiện tách và rút gọn Đạo hàm của mẫu số là e^x_j, vì trong quá trình tổng từ 1 đến k, sẽ có một lần qua j, do đó đạo hàm của e^x_j là chính nó, còn phần còn lại bằng 0.

Trong trường hợp này ta cũng làm như trường hợp i= j Đạo hàm của hàm mất mát :

Hàm mất mát Cross Entropy:

Hàm Softmax có bản chất là hàm mất mát chéo, do đó cần xem xét đạo hàm trong trường hợp i ≠ j Đạo hàm ngược từ hàm mất mát đến lớp y i và sau đó đến lớp x i yêu cầu thực hiện đạo hàm ngược hai lần Chúng ta sẽ mở tổng và phân tích theo hai trường hợp tương ứng.

 =   + − Ở đây chúng ta sẽ gộp tổng trở lại, ta có tổng mới: j i i i i j i

(Vì one-hot encoding nên tổng ở đây =1)

Sau đó từ cơ sở trên ta có công thức đạo hàm của lớp ẩn thứ [k]

❖ Đạo hàm của hàm Sigmol

Ta có công thức của hàm Sigmol tại lớp [k]: ( ) 1

Giống với hàm Sofmax, hàm Sigmol cũng được sử dụng tại lớp cuối cùng của mạng nơ-ron nhân tạo để đưa ra kết quả cần đạt được

Bước đầu ta sẽ đi tìm đạo hàm của hàm Sigmol

45 Áp dụng ta có đạo hàm Sigmol của lớp [k]:

 = − Đạo hàm của hàm mất mát

Hàm mất mát Cross Entropy:

Ta có công thức đạo hàm của lớp ẩn thứ [k]

Nhận xét: Ta thấy đạo hàm Loss function của hàm Sigmol và hàm Softmax giống nhau nên đạo hàm các lớp ẩn tương tự nhau

❖ Thuật toán Gradient Descent (GD)

Gradient Descent(quá trình giảm dần độ dốc) là thuật toán tìm giá trị nhỏ nhất của hàm số f x( ) dựa trên đạo hàm

B1: Khởi tạo giá trị x=x 0 tùy ý

B2: Gián x= −x learning rate f x_ * ( ) (learning rate_ −là hằng số dương ví dụ

Tính lại f x( ):Nếu f x( )đủ nhỏ thì dừng lại, ngược lại tiếp tục bước 2

Thuật toán sẽ lặp lại bước 2 nhiều lần (từ 100 đến 1000 lần tùy thuộc vào bài toán và hệ số learning_rate) cho đến khi giá trị của f(x) đạt mức đủ nhỏ.

47 được thuật toán GD ta cần tính đạo hàm của các trọng số w , w , 1 2 b b 1 , 2 theo hàm loss function Vậy ta sẽ đi tới quá trình lan truyền ngược

Việc chọn hệ số learning rate_ ( ) cực kì quan trọng, có 3 trường hợp:

➢ Nếu  nhỏ: mỗi lần hàm số giảm rất ít nên cần rất nhiều lần thực hiện bước 2 để hàm số đạt giá trị nhỏ nhất

➢ Nếu  hợp lý: sau một số lần lặp bước 2 vừa phải thì hàm sẽ đạt giá trị đủ nhỏ

➢ Nếu  quá lớn: sẽ gây hiện tượng OVERSHOOT và không bao giờ đạt được giá trị nhỏ nhất của hàm

Hình 2-10 Số lần lặp lại(Epoch) bước 2 theo các trười hợp learming_rate

Hình 2-9 Các trường hợp learning_rate

Chuyển màu ảnh là bước quan trọng để biến ảnh cần xử lý sang dạng nhị phân, giúp các hàm xử lý hoạt động hiệu quả hơn OpenCV cung cấp hơn 150 kỹ thuật biến đổi không gian, trong đó hai phương pháp phổ biến nhất là chuyển đổi từ BGR sang Gray.

Mô hình màu RGB, viết tắt là BGR (xanh lam, xanh lục, đỏ), xác định màu sắc thông qua việc đo lường số lượng của ba màu cơ bản: Đỏ, Xanh lục và Xanh lam trong một pixel Mỗi kênh màu này có giá trị nằm trong khoảng từ 0 đến 255, cho phép tạo ra hàng triệu màu sắc khác nhau.

Trong không gian màu RGB, có tổng cộng 256 sắc thái, với 0 biểu thị không có đại diện và 255 thể hiện sự đại diện đầy đủ Đây là một ví dụ về không gian màu phụ gia, trong đó khi mỗi màu được thêm vào nhiều hơn, độ sáng của pixel tăng lên và màu sắc càng gần với màu trắng.

❖ Lọc nhiễu(lọc song phương)

Lọc nhiễu là quá trình điều chỉnh giá trị của pixel sao cho nó trở thành giá trị trung bình của các pixel xung quanh, nhằm ngăn chặn sự thay đổi đột ngột giữa các pixel lân cận, từ đó giảm thiểu hiện tượng nhiễu ảnh.

Hình 2-11 Không gian màu BGR

Contour là tập hợp các điểm liên tục tạo thành một đường cong không có khoảng hở, với đặc điểm chung là các điểm này có giá trị màu hoặc mật độ tương đồng Để xác định contour chính xác, cần thực hiện quá trình nhị phân hóa ảnh, trong đó kỹ thuật phát hiện biên (edge detection) là phương pháp cơ bản trong xử lý ảnh.

Áp dụng cơ sở lý thuyết vào bài toán

2.3.1 Cơ sở toán học của bài toán nhận diện chữ số

Ta có công thức neural network đơn giản :A x( )=(W.X+b)

-  : Hàm kích hoạt ( active function )

Hình 2-12 Sơ đồ mạng nơ ron của bài toán nhận diện chữ số

• Áp dụng hàm active function cho giá trị mỗi liner tính được ( output ) Áp dụng vào bài toán

The neural network model illustrated in Figure 2-12 consists of four layers The input layer contains 784 nodes (l(0) = 784), the first hidden layer has 20 nodes, the second hidden layer comprises 10 nodes, and the output layer features a single node.

Trong mạng nơ-ron, mỗi nút trong lớp ẩn và lớp đầu ra đều có trọng số bias, vì vậy cần thêm một nút với giá trị 1 trong lớp đầu vào và lớp ẩn để tính toán bias Dữ liệu đầu vào cho bài toán là một mảng X có kích thước ma trận 784 hàng và 42.000 cột Tiếp theo, tiến hành khởi tạo ma trận trọng số.

Trong đó : o W , 1 b 1 là trọng số của lớp [1] o W , 2 b 2 là trọng số của lớp [2]

Ví dụ tại node thứ nhất của hidden layer [1] :

Ví dụ tại node thứ 10 của hidden layer [2]:

51 Đó chính là các phép toán tại mỗi node và bây giờ sẽ là phép toán tổng quát cho cả hệ thống

❖ Ta có phương trình tại lớp ẩn thứ nhất: Z [1] =W [1]  + [0] b [1]

Trong đó: o Z [1] : đầu vào của hidden layer [1] o  = [0] X : là lớp input layer o W , [1] b [1] : là các trọng số

Xét tại cột 1 của ma trận đầu vào

•  [1] : là đầu ra của Z [1] sau khi qua hàm kích hoạt

• Hàm kích hoạt sử dụng cho tất cả đầu vào lớp [1] là hàm Re LU

❖ Ta có phương trình lớp ẩn thứ 2: Z [2] =W [2]  + [1] b [2]

• Z [2] : đầu vào của hidden layer [2]

•  [1] : là lớp đầu ra của lớp [1]

Xét tại cột 1 của ma trận đầu vào

•  [2] : là đầu ra của Z [2] sau khi qua hàm Softmax

Bằng cách sử dụng phương pháp lan truyền tiến với bộ trọng số ban đầu, chúng ta đã thu được kết quả đầu ra, nhưng độ chính xác vẫn thấp và giá trị hàm mất mát (loss function) cao Do đó, cần tìm giá trị nhỏ nhất cho hàm mất mát để cải thiện độ chính xác của đầu ra, giúp nó gần gũi hơn với giá trị thực tế.

2.3.1.2 Lan truyền ngược Để áp dụng Gradient Descent ta cần tính được đạo hàm của hàm loss function với các trọng số W , W , [1] [2] b [1] ,b [2]

Hàm loss function trên toàn bộ dữ liệu

= − Để giải quyết vấn đề giảm giá trị của hàm loss function ta sẽ áp dụng thuật toán

Cho dễ hình dung thì ta sẽ kí hiệu [1] , [2] , [1] , [2]

W , W , , d d db db Từ đó công thức trên ta có thể viết lại:

Các giá trị dW , W , [1] d [2] db [1] ,db [2] có thể được tính toán thông qua d [2] hay  L [2]

 Xét 1 điểm ta có hàm loss function:

Từ các công thức (1),(2),(3),(4) ta có đạo hàm của L theo Z [2] ,w [2] ,b [2] ,  [1] :

Ta áp dụng công thức (4),(5),(6),(7) với lớp ẩn thứ [1] ta có:

2.3.2 Cơ sở toán học của bài toán dự đoán nguy cơ mắc bệnh

Ta có công thức neural network đơn giản :A x( )=(W.X+b)

-  : Hàm kích hoạt ( active function ) Áp dụng 2 bước:

Hình 2-13 Sơ đồ mạng nơ ron của bài toán dự đoán nguy cơ mắc bệnh

• Áp dụng hàm active function cho giá trị mỗi liner tính được ( output ) Áp dụng vào bài toán

Mô hình neural network được mô tả trong hình 2-13 bao gồm 4 lớp: lớp đầu vào với 22 node, lớp ẩn thứ nhất có 20 node, lớp ẩn thứ hai có 3 node, và lớp đầu ra cũng có 3 node Dữ liệu đầu vào cho bài toán là một ma trận X có kích thước 22 hàng và 200000 cột Quá trình khởi tạo ma trận trọng số là bước quan trọng tiếp theo trong mô hình này.

Trong đó : o W , 1 b 1 là trọng số của lớp [1] o W , 2 b 2 là trọng số của lớp [2]

❖ Ta có phương trình tại lớp ẩn thứ nhất: Z [1] =W [1]  + [0] b [1]

Trong đó: o Z [1] : đầu vào của hidden layer [1] o  = [0] X : là lớp input layer o W , [1] b [1] : là các trọng số

Xét tại cột 1 của ma trận đầu vào

•  [1] : là đầu ra của Z [1] sau khi qua hàm kích hoạt

• Hàm kích hoạt sử dụng cho tất cả đầu vào lớp [1] là hàm Re LU

❖ Ta có phương trình lớp ẩn thứ 2: Z [2] =W [2]  + [1] b [2]

• Z [2] : đầu vào của hidden layer [2]

•  [1] : là lớp đầu ra của lớp [1]

Xét tại cột 1 của ma trận đầu vào

•  [2] : là đầu ra của Z [2] sau khi qua hàm Sigmoid

Bằng phương pháp lan truyền tiến với bộ trọng số ban đầu, chúng ta đã thu được kết quả đầu ra, nhưng độ chính xác vẫn rất thấp và giá trị hàm mất mát (loss function) cao Do đó, cần tìm giá trị tối thiểu cho hàm mất mát để đầu ra gần với giá trị thực nhất.

2.3.2.2 Lan truyền ngược Để áp dụng Gradient Descent ta cần tính được đạo hàm của hàm loss function với các trọng số W , W , [1] [2] b [1] ,b [2]

The loss function across the entire dataset is defined as L = − Σ (yi * log(yi) + (1 - yi) * log(1 - yi)) To minimize the value of the loss function, we will repeatedly apply the Gradient Descent algorithm.

Cho dễ hình dung thì ta sẽ kí hiệu [1] , [2] , [1] , [2]

W , W , , d d db db Từ đó công thức trên ta có thể viết lại:

Các giá trị dW , W , [1] d [2] db [1] ,db [2] có thể được tính toán thông qua d [2] hay  L [2]

 Xét 1 điểm ta có hàm loss function:

Từ các công thức (9),(10),(11),(12) ta có đạo hàm của L theo Z [2] ,w [2] ,b [2] ,  [1] :

Ta áp dụng công thức (13),(14),(15),(16) với lớp ẩn thứ [1] ta có:

Thực hiện bài toán

Trước tiên chúng ta sẽ xử lý những dữ liệu được cung cấp từ bảng dữ liệu Thực hiện lan truyền tiến

 Sau đó sử dụng lan truyền ngược để tính toán loss function

(Tại đây xuất hiện thêm 1 m vì ta đang làm trên toàn bộ tập training) Tiếp đến, ta sẽ cập nhật thông số cho các giá trị trọng số:

Quá trình tìm kiếm hàm mất mát sẽ được lặp lại dựa trên các thông số như learning rate (α) và số lần lặp Cuối cùng, sau khi thực hiện lan truyền tiến, chúng ta sẽ đạt được kết quả dự đoán với độ chính xác cao.

Trong nghiên cứu này, nhóm đã giải quyết hai bài toán chính: nhận diện chữ số viết tay và dự đoán nguy cơ mắc bệnh Để đạt được kết quả tốt nhất, nhóm đã sử dụng hai hàm kích hoạt khác nhau cho lớp đầu ra cuối cùng, cụ thể là Softmax và Sigmoid Đối với bài toán nhận diện chữ số viết tay, hàm Softmax được áp dụng để xác định lớp có xác suất cao nhất trong 10 lớp tương ứng với các chữ số từ 0 đến 9 Ngược lại, trong bài toán dự đoán khả năng mắc bệnh, hàm Sigmoid được sử dụng để tính toán xác suất mắc bệnh tại các lớp khác nhau.

Hàm sigmoid và hàm softmax đều là các hàm kích hoạt quan trọng trong mạng nơ-ron, nhưng chúng phục vụ những mục đích khác nhau Hàm sigmoid thường được sử dụng cho các bài toán phân loại nhị phân, trong khi hàm softmax thích hợp cho các bài toán phân loại đa lớp, nơi mỗi lớp tương ứng với một bệnh Sự khác biệt này dẫn đến việc cần phải áp dụng hai loại hàm kích hoạt khác nhau để đạt được hiệu quả tối ưu trong việc dự đoán các kết quả.

Cả hai hàm kích hoạt softmax và sigmol đều là hai hàm kích hoạt phi tuyến có giá trị đầu ra luôn nằm trong khoảng 0-1

Trong bài toán phân loại đa lớp, lớp cuối cùng của mạng neural bao gồm nhiều neuron, mỗi neuron đại diện cho một lớp Mỗi neuron nhận giá trị từ 0 đến 1, và tổng giá trị của tất cả các neuron bằng 1 Do đó, đầu ra của mạng neural thể hiện phân phối xác suất của các lớp, trong đó giá trị cao nhất tại neuron tương ứng với lớp chính xác nhất.

Trong bài toán dự đoán đa lớp, việc phân loại nhiều lớp cụ thể là n lớp nhị phân với giá trị 0 và 1 rất quan trọng Giá trị này được thể hiện dưới dạng một số thực nằm trong khoảng từ 0 đến 1, phản ánh xác suất thuộc về một lớp nhất định.

Có n neuron ở output đầu ra tương ứng với n class

Output đầu ra có thể có một hoặc nhiều neuron ứng với các class

Hàm mất mát Cross Entropy đo lường độ chênh lệch giữa hai phân phối xác suất: một từ dự đoán của mô hình và một từ nhãn thực tế Nhãn được chuyển đổi thành vector one-hot, trong đó tất cả các phần tử đều có giá trị 0 ngoại trừ một vị trí đại diện cho nhãn với giá trị 1 Đầu ra của mô hình là một phân phối xác suất.

Hàm mất mát cross entropy đo lường độ chênh lệch giữa hai phân phối xác suất: một là từ dự đoán và một là từ nhãn thực tế Phân phối xác suất của nhãn thường có dạng (y, 1 - y), trong đó y có thể nhận giá trị 0 hoặc 1 Tổng hợp lại, hàm mất mát này giúp đánh giá mức độ chính xác của mô hình trong việc dự đoán nhãn.

Trong bài viết này, chúng ta xem xét 61 suất (𝑝1, 𝑝2, 𝑝3,…, 𝑝𝑛), trong đó n là số lượng các lớp Phân phối xác suất của nhãn được biểu diễn dưới dạng một vector one-hot (0, 0, , 1, 0, , 0), trong đó vị trí thứ i nhận giá trị 1 tương ứng với lớp thứ i Điều này cho phép xác định các nhãn 1 với giá trị dự đoán và các nhãn 0 với giá trị dự đoán.

CHẾ TẠO VÀ GIA CÔNG

LẬP TRÌNH, THỬ NGHIỆM VÀ ĐÁNH GIÁ HỆ THỐNG

Ngày đăng: 11/06/2022, 17:55

HÌNH ẢNH LIÊN QUAN

Hình  1-3 Google's AlphaGo beats Go master Lee Se-dol - HD3 trần ngọc tiến nghiên cứu một số ứng dụng của mạng thần kinh nhân tạo trong nhận dạng số viết tay và phát hiện nguy cơ mắc bệnh
nh 1-3 Google's AlphaGo beats Go master Lee Se-dol (Trang 13)
Hình  1-4 Hồi quy tuyến tính - HD3 trần ngọc tiến nghiên cứu một số ứng dụng của mạng thần kinh nhân tạo trong nhận dạng số viết tay và phát hiện nguy cơ mắc bệnh
nh 1-4 Hồi quy tuyến tính (Trang 16)
Hình  1-13 AI trong hệ thống lái xe tự động của Tesla - HD3 trần ngọc tiến nghiên cứu một số ứng dụng của mạng thần kinh nhân tạo trong nhận dạng số viết tay và phát hiện nguy cơ mắc bệnh
nh 1-13 AI trong hệ thống lái xe tự động của Tesla (Trang 21)
Hình  1-14 AI trong các mạng xã hội - HD3 trần ngọc tiến nghiên cứu một số ứng dụng của mạng thần kinh nhân tạo trong nhận dạng số viết tay và phát hiện nguy cơ mắc bệnh
nh 1-14 AI trong các mạng xã hội (Trang 22)
Hình  1-15 AI trong tiếp thị - HD3 trần ngọc tiến nghiên cứu một số ứng dụng của mạng thần kinh nhân tạo trong nhận dạng số viết tay và phát hiện nguy cơ mắc bệnh
nh 1-15 AI trong tiếp thị (Trang 23)
Hình  1-17 Xe điện tự lái của TESLA - HD3 trần ngọc tiến nghiên cứu một số ứng dụng của mạng thần kinh nhân tạo trong nhận dạng số viết tay và phát hiện nguy cơ mắc bệnh
nh 1-17 Xe điện tự lái của TESLA (Trang 27)
Hình  1-18 Trợ lý ảo SIRI - HD3 trần ngọc tiến nghiên cứu một số ứng dụng của mạng thần kinh nhân tạo trong nhận dạng số viết tay và phát hiện nguy cơ mắc bệnh
nh 1-18 Trợ lý ảo SIRI (Trang 28)
Hình  1-19 Sơ đồ đơn giản của mạng nơ ron - HD3 trần ngọc tiến nghiên cứu một số ứng dụng của mạng thần kinh nhân tạo trong nhận dạng số viết tay và phát hiện nguy cơ mắc bệnh
nh 1-19 Sơ đồ đơn giản của mạng nơ ron (Trang 29)
Hình  1-20 Cấu trúc cơ bản của mạng nơ-ron tích chập - HD3 trần ngọc tiến nghiên cứu một số ứng dụng của mạng thần kinh nhân tạo trong nhận dạng số viết tay và phát hiện nguy cơ mắc bệnh
nh 1-20 Cấu trúc cơ bản của mạng nơ-ron tích chập (Trang 31)
Hình  1-21 Tập dữ liệu MNIST - HD3 trần ngọc tiến nghiên cứu một số ứng dụng của mạng thần kinh nhân tạo trong nhận dạng số viết tay và phát hiện nguy cơ mắc bệnh
nh 1-21 Tập dữ liệu MNIST (Trang 35)
Hình  2-1 Mạng nơ-ron nhân tạo đơn giản - HD3 trần ngọc tiến nghiên cứu một số ứng dụng của mạng thần kinh nhân tạo trong nhận dạng số viết tay và phát hiện nguy cơ mắc bệnh
nh 2-1 Mạng nơ-ron nhân tạo đơn giản (Trang 37)
Hình  2-4 Mô hình tổng quát của mạng nơ-ron nhân tạo - HD3 trần ngọc tiến nghiên cứu một số ứng dụng của mạng thần kinh nhân tạo trong nhận dạng số viết tay và phát hiện nguy cơ mắc bệnh
nh 2-4 Mô hình tổng quát của mạng nơ-ron nhân tạo (Trang 40)
Hình  2-8 Thuật toán GD - HD3 trần ngọc tiến nghiên cứu một số ứng dụng của mạng thần kinh nhân tạo trong nhận dạng số viết tay và phát hiện nguy cơ mắc bệnh
nh 2-8 Thuật toán GD (Trang 47)
Hình  3-3 Bản vẽ gá kẹp điện thoại - HD3 trần ngọc tiến nghiên cứu một số ứng dụng của mạng thần kinh nhân tạo trong nhận dạng số viết tay và phát hiện nguy cơ mắc bệnh
nh 3-3 Bản vẽ gá kẹp điện thoại (Trang 64)
Hình  3-5 Chân đế kẹp điện thoại - HD3 trần ngọc tiến nghiên cứu một số ứng dụng của mạng thần kinh nhân tạo trong nhận dạng số viết tay và phát hiện nguy cơ mắc bệnh
nh 3-5 Chân đế kẹp điện thoại (Trang 66)

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w