1. Trang chủ
  2. » Giáo Dục - Đào Tạo

THIẾT kế mô HÌNH TRỢ lý GIỌNG nói ỨNG DỤNG EDGE AI điều KHIỂN THIẾT bị điện TRONG GIA ĐÌNH

50 70 1

Đ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

Định dạng
Số trang 50
Dung lượng 1,89 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nội dung chính của đồ án: Chương1.Tổng quan đề tài Trình bày đặt vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nôi dung ̣ nghiên cứu Chương 2: Xây dựng hệ thống Trình bày các lý thuyết

Trang 1

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

KHOA ĐIỆN-ĐIỆN TỬ

BÁO CÁO ĐỒ ÁN CHUYÊN NGÀNH

ĐIỆN TỬ VIỄN THÔNG

Nguyễn Quang Vinh 1811505410244

Giảng viên hướng dẫn: TS Nguyễn Thị Khánh Hồng

Tháng 5/2022

Trang 2

TÓM TẮT

Đề tài: THIẾT KẾ MÔ HÌNH TRỢ LÝ GIỌNG NÓI ỨNG DỤNG EDGE AI ĐIỀU KHIỂN

THIẾT BỊ ĐIỆN TRONG GIA ĐÌNH Sinh viên thực hiện: Nguyễn Quang Tuấn

- … (Tham khảo thêm tài liệu ở SmartSensor)

2 Data: Đây là tập dữ liệu được xây dựng bởi Trần Duy Điền và Mai Chiếm An nhằm mục đích thực hiện đề tài

Dữ liệu của dự án bao gồm tất các các đoạn audio được dùng để huấn luyện mô hình học máy cho dự án Các file âm thanh được lưu dưới định dạng wav với kích thước > 1s mỗi file, được thu thập trực tiếp của gần ~50 người, tỷ lệ Nam/nữ = 70/30, chủ yếu là người miền Trung, độ tuổi từ 18-35 tuổi

Trang 3

3 en.fp-ai-sensing1_v4.0.3.zip: Thư viện xây dựng cho các cảm biến trong đó có Audio do hãng ST cung cấp

Ở đây có thư viện xử lý âm thanh chính ở vi điều khiển (Log mel spectrograms, MFCC, ) được xây dựng bằng ngôn ngữ C nằm ở:

STM32CubeFunctionPack_SENSING1_V4.0.3\Middlewares\ST\STM32_AI_AudioPreprocessing Library\Src\feature_extraction.c

4 Source Code: Toàn bộ source code cuối cùng của project

a Model AI on STM32: Source code xây dựng mô hình CNN cho âm thanh được sử dụng để triển khai lên VĐK (Python)

- model: chứa các model đã training được (model_1_3_21.h5 được sử dụng

để triển khai xuống vđk)

- data: data dưới dạng dataframe

- x_test_mel.csv/y_test_mel.csv: data validation dưới VĐK

- preprocesing_mel.py : code trích xuất đặc trưng log Mel

- model_mel: Model CNN

b CNN for Audio: Source code hướng dẫn xây dựng mô hình CNN cơ bản (Python)

- audio_processing.py: trích xuất đặc trưng

- train.py: train model CNN

- Prepare_dataset.py: xây dựng dataframe

- convert TF-TFlite: convert model tensorflow sang dạng TF lite

c AI on STM32: Source code implement CNN model lên STM32 ©

5 Demo: Hình ảnh, video demo của project

- Video demo

- Hình ảnh sản phẩm

Trang 4

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

KHOA ĐIỆN- ĐIỆN TỬ CỘNG HÒA XÃ HÔI CHỦ NGHĨA VIỆT NAMĐộc lập - Tự do - Hạnh phúc

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

Giảng viên hướng dẫn: T.S Nguyễn Thị Khánh Hồng

Sinh viên thực hiện: Nguyễn Quang Tuấn Mã SV: 1811505410243

Nguyễn Quang Vinh Mã SV: 1811505410244

1 Tên đề tài: THIẾT KẾ MÔ HÌNH TRỢ LÝ GIỌNG NÓI ỨNG DỤNG EDGE AI ĐIỀU

KHIỂN THIẾT BỊ ĐIỆN TRONG GIA ĐÌNH

2 Các số liệu, tài liệu ban đầu:

3 Nội dung chính của đồ án:

Chương1.Tổng quan đề tài

Trình bày đặt vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nôi dung ̣ nghiên cứu

Chương 2: Xây dựng hệ thống

Trình bày các lý thuyết có liên quan đến các vấn đề mà đề tài sẽ dùng để thực hiện thiết

kế, thi công cho đề tài

Chương 3: Thiết lập mô hình nhận dạng âm thanh

Giới thiệu tổng quan về các yêu cầu của đề tài về thiết kế và các tính toán liên quan đến đề tài

Chương 4: Triển khai mô hình nhận dạng âm thanh lên thiết bị nhúng STM32

Thi công phần cứng, viết code và nộp chương trình cho vi điều khiển

Đánh giá kết quả và Hướng Phát Triển

Chương này trình bày ngắn gọn những kết quả đã thu được dựa vào những phương pháp,

Trang 6

LỜI MỞ ĐẦU

Hiện nay, nền công nghệ hiện đại đóng vai trò rất qua trọng trọng trong cuộc sống của con người, Những thành tựu của cuộc cách mạng khoa học kỹ thuật được áp dụng rộng rãi vào nền kinh tế và cuộc sống sinh hoạt của con người, đưa đến những đổi thay chưa từng có trong lịch sử loài người

Là sinh viên của chuyên ngành Điện Tử Viễn Thông, sau thời gian học tập và rèn luyện tại Trường Đại học Sư Phạm Kỹ Thuật, được sự giảng dạy tận tình của các thầy cô cùng với sự cố gắng nỗ lực của bản thân, em đã được giao đề tài tốt nghiệp “ Trợ lí ảo giọng nói văn phòng ứng dụng EDGE điều khiển các thiết bị điện trong gia đình”.Khi được giao đồ án tốt nghiệp, xác định đây

là công việc quan trọng nhằm đánh giá lại toàn bộ kiến thức mà mình đã tiếp thu được trong quá trình học tập tại trường, em đã có nhiều cố gắng Đề tài này là một chuyên ngành còn khá mới mẻ

ở Việt Nam, cho nên trong đồ án này em chỉ tập trung đi sâu vào công việc chính là , nghiên cứu huấn luyện mô hình AI và các chuẩn giao tiếp với nhau

Đồ án gồm 3 phần :

Chương 1: Tổng quan về đề tài

Chương 2: Xây dựng hệ thống

Chương 3: Thiết lập mô hình nhận dạng âm thanh

Chương 4: Mô hình nhận dạng tích hợp thiết bị nhúng STM32

Sau 3 tháng tìm hiểu và tham khảo, với ý thức và sự nỗ lực của bản thân cùng với sự giúp đỡ tận tình của các thầy, cô đặc biệt là TS Nguyễn Thị Khánh Hồng đã giúp em tận tình trong quá trình làm đồ án này Qua bản đồ án này cho em xin được bày tỏ lời cảm ơn chân thành tới TS Nguyễn Thị Khánh Hồng và ThS Nguyễn Huỳnh Nhật Thương-GD công ty TNHH TAPIS Trong quá trình hoàn thành đồ án, với trình độ kiến thức chuyên môn chưa nhiều, kinh nghiệm thực tế còn ít

và thời gian có hạn nên đồ án của em không thể tránh được những thiếu sót Do đó, em kính mong được sự chỉ bảo thêm của các thầy, cô và đóng góp của các bạn để em được hoàn thiện hơn

Em xin chân thành cảm ơn!

Đà Nẵng, ngày 4 tháng 6 năm 2022

Trang 7

LỜI CAM ĐOAN

Đồ án này là công trình nghiên cứu của nhóm Tất cả các đoạn văn, ý kiến, quan điểm của người khác sử dụng trong bài đều được dẫn nguồn và lập danh mục tham khảo ở cuối đồ án Đồ

án này chỉ được nộp với mục đích thực hiện đồ án tốt nghiệp

Tôi thực hiện đề tài không sao chép từ bất kì một bài viết nào đã được công bố mà không trích dẫn nguồn gốc Nếu có bất kì sự vi phạm nào, tôi thực hiện sẽ chịu hoàn toàn trách nhiệm

Đã bổ sung, cập nhật theo yêu cầu của Giảng viên phản biện và Hội đồng chấm Đồ án tốt nghiệp họp ngày ngày 17, 18/6/2022

Sinh viên thực hiện

Trang 8

MỤC LỤC

Danh mục các hình 5

CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI 1

1.1 Tính cấp thiết của đề tài 1

1.2 Các giải pháp hiện tại 1

1.3 Đề xuất giải pháp 2

1.4 Kết luận chương 4

CHƯƠNG 2 XÂY DỰNG HỆ THỐNG 5

2.1 Giới thiệu chương 5

2.2 Khối cảm biến 5

2.2.1 Microphone 5

2.3 Led thông báo trạng thái 6

2.4 Khối điều khiển trung tâm 7

2.5 Sơ đồ khối tổng thể của hệ thống 10

2.6 Tổng kết chương 10

CHƯƠNG 3 THIẾT LẬP MÔ HÌNH NHẬN DẠNG ÂM THANH 11

3.1 Tổng quan về mạng nơ-ron tích chập 11

3.2 Công cụ xây dựng mô hình 12

3.2.1 TensorFlow 13

3.2.2 Keras 14

3.3 Xây dựng mô hình 15

3.3.1 Chuẩn bị dữ liệu 16

3.3.2 Trích xuất đặc trưng Log-Mel Spectrogram 17

Trang 9

3.3.3 Cấu trúc mô hình 21

3.3.4 Kết quả của mô hình 23

3.4 Kết luận chương 25

CHƯƠNG 4 TRIỂN KHAI MÔ HÌNH NHẬN DẠNG LÊN THIẾT BỊ NHÚNG STM32 26

4.1 Giới thiệu chương 26

4.2 Nhận dạng âm thanh bằng mô hình AI trên Vi điều khiển STM32 26

4.2.1 Nhúng mô hình xuống vi điều khiển 26

4.2.2 Dữ liệu âm thanh thực tế 30

4.2.3 Trích đặc trưng Log-Mel Spectrogram trên vi điều khiển 32

4.2.4 Thực thi mô hình trên vi điều khiển để nhận dạng âm thanh 32

4.3 Kết luận chương 33

ĐÁNH GIÁ KẾT QUẢ, HƯỚNG PHÁT TRIỂN 34

1 Đánh giá kết quả 34

1.1 Kết quả 34

1.2 Đánh giá 35

2 Kết luận và hướng phát triển 36

2.1 Kết luận 36

2.2 Hướng phát triển 36

Tài liệu tham khảo 37

Trang 10

Danh mục các hình

Hình 1.1 Trợ lý ảo GoogleHome và Amazon Alexa Echo Dot3 2

Hình 1.2 Các công cụ và công nghệ sử dụng trong hệ thống 3

Hình 1.3 Sơ đồ khối tổng quát của hệ thống 4

Hình 2.1. Microphone MAX9814 5

Hình 2.2 Led đơn 6

Hình 2.4 Các dòng vi điều khiển STM32 7

Hình 2.5 Các dòng vi điều khiển STM32 hỗ trợ AI 8

Hình 2.6 Sơ đồ tổng quát về ARM Cortext-M7 9

Hình 2.7 Vi điều khiển STM32F746NG 9

Hình 2.8 Sơ đồ khối tổng thể của hệ thống 10

Hình 3.1 Cấu trúc mạng CNN cơ bản 11

Hình 3.2 TensorFlow 13

Hình 3.3 High-level APIs của TensorFlow 14

Hình 3.4 Các bước thực hiện nhận dạng âm thanh 15

Hình 3.5 Các âm thanh trong tập dữ liệu 17

Hình 3.6 Quá trình trích đặc trưng Log-Mel Spectrogram 17

Hình 3.7 Quá trình biến đổi STFT 18

Hình 3.8 Chuyển phổ của STFT qua Mel scale 19

Trang 11

Hình 3.9 Các bộ lọc tam giác 19

Hình 3.10 Kết quả sau khi trích xuất đặc trưng Log Mel Spectrogram 20

Hình 3.11 Cấu trúc mô hình 21

Hình 3.12 Cấu trúc mô hình một cách tổng quát 22

Hình 3.13.2 Loss của mô hình 23

Hình 3.14 Accuracy của mô hình 23

Hình 3.15 Confusion matrix của tập test 24

Hình 4.1 Công cụ STM32 Cube.AI 27

Hình 4.2 Thư viện AI dưới vi điều khiển STM32 27

Hình 4.3 Cấu trúc của mô hình được phân tích bằng công cụ STM32 Cube.AI 28

Hình 4.4 STM32 Cube.AI sau khi phân tích mô hình thành công 29

Hình 4.5 Cấu hình ADC trên vi điều khiển STM32 30

Hình 4.6 Cấu hình xung clock trên Vi điều khiển STM32F746 31

Hình 4.7 Cấu hình DMA trên vi điều khiển STM32 31

Hình 4.8 Trích đặc trưng Log MelSpectrogram bằng thư viện CMSIS 32

Hình 4.9 Quá trình debug xem giá trị kết quả của các thành phần aSpectrogram, data out, max output, max output ind, 33

Trang 12

CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI

1.1 Tính cấp thiết của đề tài

Trong thời đại 4.0 kéo theo sự phát triển của rất nhiều lĩnh vực công nghệ khác nhau, nền khoa học công nghệ ngày ngay có sự phất triển vượt bậc, nổi bật điển hình là phát triển thành phố thông minh hay còn gọi là “Smart City” đang là xu hướng mà các thành phố lớn đều đang hướng đến Một trong những giải pháp hiện tại để phát triển thành phố thông minh đang rất được quan tâm đó là nghiên cứu, phát triển và ứng dụng trí tuệ nhân tạo ở tất cả các lĩnh vực trong đời sống

Để phát triển theo hướng đến xây dựng thành phố thông minh thì tòa nhà thông minh hay nhỏ hơn là ngôi nhà thông minh là một trong những mục tiêu dễ dàng tiếp cận nhất Hiện nay, các thiết bị có trong nhà đa số được điều khiển bằng các công tắc cơ (đèn, quạt, rèm cửa,…) hoặc các remote điều khiển (tivi, máy chiếu, điều hòa) Tuy nhiên, người dùng càng ngày càng có nhu cầu cao về việc điều khiển và giám sát các thiết bị này một cách thông minh hơn, có nhu cầu cao về trải nghiệm người dùng

1.2 Các giải pháp hiện tại

Hiện nay, các trợ lý ảo giám sát và trợ lý giọng nói cũng được nhiều hãng quan tâm và phát triển như Google Assistant, Alexa, Cortana … Tuy nhiên, các sản phẩm này hoạt động cần phụ thuộc vào internet net, có độ trễ nhất định, dữ liệu âm thanh trong gia đình có thể

bị rò rỉ, truyền ra ngoài không đảm bảo an toàn, riêng tư [1]

Trang 13

Hình 1.1 Trợ lý ảo GoogleHome và Amazon Alexa Echo Dot3

Ngoài ra, những thiết bị này chỉ hướng đến một số đối tượng người dùng cụ thể, ngôn ngữ sử dụng chủ yếu là tiếng anh, vấn đề về bảo mật người dùng vẫn đang là nổi lo lắng khi sử dụng các thiết bị này

1.3 Đề xuất giải pháp

Với những lý do đó, nhóm đã quyết định thiết kế một hệ thống để điều khiển các thiết

bị điện trong gia đình bằng giọng nói, giúp điều khiển các thiết bị trong nhà một cách thông minh hơn, tăng trải nghiệm người dùng với mục tiêu không phá vỡ kết cấu, kiến trúc có sẵn; nhỏ gọn và bảo mật Đặc biệt là hệ thống vẫn có thể thực hiện được chức năng điều khiển của mình trong cả điều kiện không có kết nối internet

Để thực hiện được những mục tiêu trên, nhóm đề xuất thực hiện đề tài THIẾT KẾ MÔ HÌNH TRỢ LÝ GIỌNG NÓI ỨNG DỤNG EDGE AI ĐIỀU KHIỂN THIẾT BỊ ĐIỆN TRONG GIA ĐÌNH Đây là một công nghệ rất đang được quan tâm hiện nay, một trong những đặc điểm nỗi bật của công nghệ này là có thể dễ dàng thực thi các mô hình AI trên thiết bị nhúng ngay cả trong điều kiện không có kết nối internet, ngoài ra đây còn là công nghệ giúp hệ thống có tính nhỏ gọn, bảo mật, dễ dàng đồng bộ, phát triển và mở rộng

Trang 14

Các bước để xây dựng hệ thống:

 Ở đề tài này, nhóm sử dụng phương pháp phân loại âm thanh để nhận dạng các loại

âm thanh điều khiển, nhóm thực hiện xây dựng một mô hình nhận dạng sử dụng mạng nơ- ron tích chập Với mục tiêu độ chính xác nhận dạng của hệ thống phải trên 90%

 Sau khi xây dựng thành công mô hình nhận dạng, nhóm tiếp tục nhúng mô hình đó xuống thiết bị nhúng và thực hiện quá trình thu nhận dữ liệu thực tế và tiến hành nhận dạng cục bộ

 Cuối cùng, sau khi thực hiện nhận dạng thành công các từ khóa cục bộ trên thiết bị nhúng, nhóm tiếp tục sử dụng phương thức không dây hồng ngoại để thực hiện phần việc đồng bộ điều khiển

Hình 1.2 Các công cụ và công nghệ sử dụng trong hệ thống

Các công cụ để xây dựng hệ thống:

 Xây dựng mô hình: ngôn ngữ Python, framework TensorFlow, framework Keras

 Hệ thống nhúng: ngôn ngữ C, STM32 Cube.AI, STM32 CubeIDE

Trang 15

Sơ đồ khối của hệ thống:

Hình 1.3 Sơ đồ khối tổng quát của hệ thống

Chức năng của từng khối:

 Khối ngoại vi: Lấy dữ liệu âm thanh điều khiển từ người dùng microphone phục vụ cho việc nhận dạng điều khiển; đọc tín hiệu từ cảm biến

 Khối xử lý trung tâm: Sử dụng vi điều khiển STM32, là nơi lưu mô hình nhận dạng

âm thanh, thực hiện quá trình nhận dạng

 Khối đồng bộ điều khiển: Thực hiện lệnh từ khối điều khiển trung tâm và thực hiện lệnh tắt(mở) các thiết bị điện

1.4 Kết luận chương

Chương vừa rồi nhóm đã phân tích về tính cấp thiết của đề tài và nêu ra một số phương pháp khác nhau và so sánh giữa các phương pháp để lựa chọn ra phương pháp thực hiện cho hệ thống Biết được sơ đồ khối tổng quát của hệ thống, chức năng và thành phần của mỗi khối ở trong hệ thống

Đưa ra được mục tiêu cuối cùng để thực hiện hệ thống, các yêu cầu để đánh giá hệ thống, và các công cụ cũng như những công nghệ để thực hiện hệ thống Ở những chương tiếp theo sẽ là chi tiết những phần về cơ sơ lý thuyết và quá trình thực hiện của hệ thống được chia thành 3 chương như sau đây:

 Xây dựng hệ thống

 Xây dựng mô hình nhận dạng âm thanh

 Triển khai mô hình nhận dạng lên thiết bị nhúng STM32

Trang 16

CHƯƠNG 2 XÂY DỰNG HỆ THỐNG

2.1 Giới thiệu chương

Chương Ⅰ đã đưa ra sơ khối tổng quan của hệ thống, các yêu cầu cũng như là các tính

năng của hệ thống Để giải quyết những yêu cầu đó và xây dựng được một hệ thống có các tính năng như vậy thì chương này sẽ tiến hành chọn lựa linh kiện cho từng khối cũng như

là xây dựng nên một sơ đồ khối cụ thể cho toàn bộ hệ thống

2.2 Khối cảm biến

2.2.1 Microphone

Trên thị trường hiện nay có rất nhiều loại microphone như AGC MAX9814, ADMP401, SPH0645, MAX 9812L, với chất lượng và giá thành sản phẩm khác nhau Với tiêu chí là giá thành rẻ cũng như là độ chính xác tương đối, với cái giá thành đó thì nhóm đã chọn AGC Microphone MAX9841 cho hệ thống của mình Đây là một analog microphone có kích thước nhỏ gọn

Trang 17

2.3 Led thông báo trạng thái

Đèn led là đèn công nghệ sử dụng công nghệ LED là từ viết tắt của Light Emitting Diode Led cấu

tạo từ một khối bán dẫn loại P ghép với một khối bán dẫn loại N Nguyên lý hoạt động của LED dựa trên công nghệ bán dẫn Khối bán dẫn P khi ghép với bán dẫn N thì các lỗ trống này có xu hướng chuyển động khuếch tán sáng khối N Cùng lúc khối P lại nhận được thêm các điện tử âm

từ N chuyển sang Ở biên giới 2 bên mặt tiếp giáp một số điện tử bị lỗ trống thu hút Và khi chúng lại gần nhau có xu hướng kết hợp với nhau tạo thành nguyên tử trung hòa Quá trình này giải phóng năng lượng dưới dạng ánh sáng

Hình 2.2 Led đơn

Trang 18

2.4 Khối điều khiển trung tâm

Khối điều khiển trung tâm nhóm sẽ sử dụng vi điều khiển STM32 Hiện nay trên thị trường có rất nhiều dòng vi điều khiển STM32 có tài nguyên, bộ nhớ và tốc độ xử lí khác nhau

Hình 2.4 Các dòng vi điều khiển STM32

Trang 19

Vì đề tài của nhóm là ứng dụng Edge AI, cụ thể là mô hình AI sẽ chạy trên vi điều khiển STM32, mà một hệ thống AI thường có mô hình rất lớn cũng như đòi hỏi khối lượng các phép tính toán rất cao nên vi điều khiển mà được chọn phải thỏa mãn được yêu cầu là tài nguyên phần cứng phải lớn để lưu được một mô hình AI, cũng như tốc độ xử lí phải cao để đưa ra kết quả nhận dạng ở một thời gian ngắn giúp hệ thống hoạt động thời gian thực, đồng thời vi điều khiển đó tương thích và được hỗ trợ bởi STM32 Cube.AI Các vi điều khiển hiện nay có thể chạy được một mô hình AI thường là có lõi ARM Cortex-M4 trở lên

Hình 2.5 Các dòng vi điều khiển STM32 hỗ trợ AI

Vì những yêu cầu đặt ra như vậy, nên nhóm đã quyết định chọn vi điều khiển STM32F746 lõi ARM Cortex-M7 có tài nguyên bộ nhớ lớn, tốc độ xử lý cao và hỗ trợ sử dụng công cụ SMT32 Cube.AI [4]

Trang 20

Hình 2.6 Sơ đồ tổng quát về ARM Cortext-M7 Thông số kỹ thuật:

 Lõi ARM 32 bit Cortex-M7

 1 MB Flash

 SRAM 320 KB

 Tần số lên đến 216 MHz

Hình 2.7 Vi điều khiển STM32F746NG

Trang 21

2.5 Sơ đồ khối tổng thể của hệ thống

Sau khi tiến hành chọn linh kiện cho từng khối, nhóm đã tiến hành xây dựng sơ đồ khối tổng thể của hệ thống như hình (2.10) Hệ thống sẽ bao gồm một khối điều khiển trung tâm, một Microphone để thu thập tín hiệu âm thanh, khối relay để bật tắt các thiết bị và cuối cùng là led trạng thái để thông báo trạng thái của các thiết bị được điều khiển

Mô hình AI sau khi được huấn luyện thành công trên máy tính sẽ được nhúng và chạy trên vi điều khiển Ở đây nhóm sẽ dùng vi điều khiển STM32F746, vi điều khiển STM32F746 sẽ giao tiếp với các ngoại vi thông qua các chuẩn giao tiếp như GPIO, ADC,…

2.6 Tổng kết chương

Hình 2.8 Sơ đồ khối tổng thể của hệ thống

Chương 2 đã trình bày về phần cứng hệ thống , những thông số cụ thể và cách lựa chọn linh kiện phù hợp với từng khối, lựa chọn các linh kiện tỉ mĩ phù hợp với các yêu cầu và cũng như là tiêu chí của đề tài đã được trình bày trong chương này Một hệ thống với sơ đồ khối hoàn chỉnh có các linh kiện cụ thể, có nguyên tắc và liên kết giữa các khối trong hệ thống một cách rõ ràng là cơ sở cho việc thực hiện các bước để xây dựng nên một hệ thống hoàn chỉnh sau này

Trang 22

CHƯƠNG 3 THIẾT LẬP MÔ HÌNH NHẬN DẠNG ÂM

THANH

3.1 Tổng quan về mạng nơ-ron tích chập

Tích chập là một khái niệm trong xử lý tín hiệu số, đây là một phép toán được sử dụng rộng rãi và phổ biến trong các mô hình Deep Learning Tích chập giữa tín hiệu đầu vào (Ví

dụ như là một ma trận hình ảnh, âm thanh) và các bộ lọc giúp trích xuất tự động các đặc trưng Tích chập thông dụng nhất là tích chập 2 chiều được áp dụng trên ma trận đầu vào

và ma trận bộ lọc 2 chiều Phép tích chập của một ma trận với một bộ lọc (receptive field) là một ma trận sẽ trả qua những bước sau:

 Tính tích chập tại 1 điểm: Tại vị trí đầu tiên trên cùng của ma trận đầu vào ta sẽ lọc

ra một ma trận con có kích thước bằng với kích thước của bộ lọc Giá trị tương ứng trên là tích chập của với được tính như sau:

 Tiến hành trượt dọc theo ma trận theo chiều từ trái qua phải, từ trên xuống dưới theo bước nhảy (stride) S ta sẽ tính được các giá trị tiếp theo Sau khi quá trình này kết thúc ta thu được trọn vẹn ma trận

Thông thường khi nói về Convolutional Neural Network (CNN) [5] chúng ta thường liên tưởng đến lĩnh vực xử lý hình ảnh (Computer Vision) do những tiến bộ vượt bậc mà kỹ thuật CNN đem lại trong lĩnh vực này Tuy nhiên, gần đây CNN cũng đang dần được nghiên cứu để áp dụng vào lĩnh vực xử lý ngôn ngữ tự nhiên (NLP)

Mặc dù, với các bài toán NLP thì việc sử dụng RNN [6] vẫn đem lại kết quả cao hơn

so với các kỹ thuật khác nhưng điểm hạn chế lớn nhất của RNN là phải mất nhiều thời gian

để huấn luyện mô hình (do phải huấn luyện từng từ một thay vì cả câu văn hay đoạn văn)

Do đó, các nhà nghiên cứu hi vọng có thể sử dụng CNN để giảm thời gian huấn luyện mà vẫn đạt kết quả tương tự như RNN

Trang 23

Thông qua các phép tích chập, các đặc trưng chính từ ảnh được chiết xuất và truyền vào các lớp tích chập (convolution layers) Mỗi một lớp tích chập sẽ bao gồm nhiều đơn vị mà kết quả ở mỗi đơn vị là một phép biến đổi tích chập từ lớp trước đó thông qua phép nhân tích chập với bộ lọc

Thiết kế của một mạng nơ ron tích chập 2 chiều có dạng như sau:

Hình 3.1 Cấu trúc mạng CNN cơ bản

Trong đó:

 Input: Lớp đầu vào (ma trận hình ảnh, âm tanh, ….)

 Convolution: lớp tích chập với các kernel có kích thước hiệu chỉnh (1x1, 3x3, 5x5…)

 ReLU: Lớp biến đổi thông qua hàm kích hoạt relu để kích hoạt tính tuyến tính

 Pool: Lớp Pool này dùng cửa sở trượt quét qua toàn bộ mỗi lần trượt theo

một bước trượt (stride) cho trước Khác với lớp Convolutional, lớp Pooling không tính tích chập mà tiến hành lấy mẫu (subsampling)

 Fully-Connected + softmax: Lớp tìm ra xác xuất của từng class đối với bài toán classification

Trang 24

3.2 Công cụ xây dựng mô hình

Hình 3.2 TensorFlow

Các hàm được dựng sẵn trong thư viện cho từng bài toán cho phép TensorFlow xây dựng được nhiều neural network Nó còn cho phép bạn tính toán song song trên nhiều máy tính khác nhau, thậm chí trên nhiều CPU, GPU trong cùng một máy hay tạo ra các đồ thị luồng dữ liệu để dựng nên các mô hình

Hoạt động của TensorFlow được chia thành 3 phần:

 Tiền xử lý dữ liệu

 Xây dựng mô hình

 Huấn luyện và đánh giá mô hình

Trang 25

TensorFlow cho phép các lập trình viên tạo ra dataflow graph, cấu trúc mô tả làm thế nào dữ liệu có thể di chuyển qua một graph, hay một series các node đang xử lý Mỗi node trong đồ thị đại diện một phép toán học, và mỗi kết nối giữa các node là một mảng dữ liệu

đa chiều, hay còn được gọi là tensor Các thư viện biến đổi có sẵn thông qua TensorFlow được viết bằng các binary C++ nên có tốc độ xử lý cao Ngôn ngữ Python cung cấp các high-level abstraction để cho phép thực hiện hiệu chỉnh

Lợi ích đầu tiên mà cũng dễ thấy nhưng quan trọng nhất mà TensorFlow cung cấp cho việc lập trình machine learning chính là tính chất trừu tượng Thay vì phải đối phó với những tình huống rườm rà từ việc thực hiện triển khai các thuật toán TensorFlow sẽ làm phần còn lại thay cho chúng ta Lợi ích thứ 2 là tốc độ xử lý cao do phân lớn được viết bằng ngôn ngữ C++

3.2.2 Keras

Keras thực sự là một high-level APIs cho việc xây dựng và huấn luyện các mô hình học sâu Keras giúp đưa ra các mô hình mẫu một cách nhanh chóng, giúp đưa ra các sản phẩm hoặc nghiên cứu với các thuật toán hiện đại Với TensorFlow 2.0, Keras đã được tích hợp một cách chặt chẽ hơn với nền tàng TensorFlow của Google Keras cung cấp các API một cách hợp lý và đơn giản, tối thiểu các thao tác cho người dùng, nó còn cùng cấp các phản hồi một cách rõ ràng đối với các lỗi người dùng Sử dụng dễ dàng tuy nhiên không làm tăng độ phức tạp cũng như giảm độ linh hoạt khi sử dụng bởi vì Keras được kết hợp với các hàm low-level của TensorFlow Tùy chỉnh chức năng của các hàm một cách linh hoạt

Hình 3.3 High-level APIs của TensorFlow

Ngày đăng: 11/08/2022, 17:30

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w