Mẹo nhỏ: Để tìm kiếm chính xác các tác phẩm của Phebinhvanhoc.com.vn, hãy search trên Google với cú pháp: "Từ khóa" + "phebinhvanhoc". (Ví dụ: tác phẩm chí phèo phebinhvanhoc). Tìm kiếm ngay
593 lượt xem

Recurrent Neural Network(Phần 1): Tổng quan và ứng dụng

Bạn đang quan tâm đến Recurrent Neural Network(Phần 1): Tổng quan và ứng dụng phải không? Nào hãy cùng PHE BINH VAN HOC theo dõi bài viết này ngay sau đây nhé!

Video đầy đủ Recurrent Neural Network(Phần 1): Tổng quan và ứng dụng

Bài viết này dành cho những người đã có kiến ​​thức cơ bản về mạng thần kinh. Bạn nào chưa xem qua mạng nơ ron thì có thể tham khảo bài tổng hợp kiến ​​thức về mạng nơ ron nhân tạo của tôi tại đây, hoặc khó hiểu quá bạn có thể tham khảo video này.

Để có thể hiểu rõ về RNN, trước tiên chúng ta cùng nhìn lại mô hình Neural Network dưới đây: Recurrent Neural Network(Phần 1): Tổng quan và ứng dụng Như đã biết thì Neural Network bao gồm 3 phần chính là Input layer, Hidden layer và Output layer, ta có thể thấy là đầu vào và đầu ra của mạng neuron này là độc lập với nhau. Như vậy mô hình này không phù hợp với những bài toán dạng chuỗi như mô tả, hoàn thành câu, … vì những dự đoán tiếp theo như từ tiếp theo phụ thuộc vào vị trí của nó trong câu và những từ đằng trước nó. Và như vậy RNN ra đời với ý tưởng chính là sử dụng một bộ nhớ để lưu lại thông tin từ từ những bước tính toán xử lý trước để dựa vào nó có thể đưa ra dự đoán chính xác nhất cho bước dự đoán hiện tại. Nếu các bạn vẫn chưa hiểu gì thì hãy cùng xem mô hình mạng RNN sau và cùng phân tích để hiểu rõ hơn: Recurrent Neural Network(Phần 1): Tổng quan và ứng dụng Giải thích một chút: Nếu như mạng Neural Network chỉ là input layer xxx đi qua hidden layer hhh và cho ra output layer yyy với full connected giữa các layer thì trong RNN, các input xtx_txt​ sẽ được kết hợp với hidden layer ht−1h_{t-1}ht−1​ bằng hàm fWf_WfW​ để tính toán ra hidden layer hth_tht​ hiện tại và output yty_tyt​ sẽ được tính ra từ hth_tht​, WWW là tập các trọng số và nó được ở tất cả các cụm, các L1,L2,…,LtL_1,L_2,…,L_tL1​,L2​,…,Lt​ là các hàm mất mát sẽ được giải thích sau. Như vậy kết quả từ các quá trình tính toán trước đã được “nhớ” bằng cách kết hợp thêm ht−1h_{t-1}ht−1​ tính ra hth_tht​ để tăng độ chính xác cho những dự đoán ở hiện tại. Cụ thể quá trình tính toán được viết dưới dạng toán như sau: ht=fW(ht−1,xt)h_t = f_W(h_{t-1}, x_t)ht​=fW​(ht−1​,xt​) Hàm fWf_WfW​ chúng ta sẽ xử dụng hàm tanh, công thức trên sẽ trở thành : ht=tanh(Whhht−1+Wxhxt)h_t = tanh(W_{hh}h_{t-1} + W_{xh}x_t)ht​=tanh(Whh​ht−1​+Wxh​xt​) yt=Whyhty_t = W_{hy}h_tyt​=Why​ht​ Đến đây có 3 thứ mới xuất hiện: Wxh,Whh,WhyW_{xh}, W_{hh}, W_{hy}Wxh​,Whh​,Why​. Đối với mạng NN chỉ sử dụng một ma trận trọng số W duy nhất thì với RNN nó sử dụng 3 ma trận trọng số cho 2 quá trình tính toán: WhhW_{hh}Whh​ kết hợp với “bộ nhớ trước” ht−1h_{t-1}ht−1​ và WxhW_{xh}Wxh​ kết hợp với xtx_txt​ để tính ra “bộ nhớ của bước hiện tại” hth_tht​ từ đó kết hợp với WhyW_hyWh​y để tính ra yty_tyt​.

XEM THÊM:  Cia là gì? Có an toàn không, có mang thai không?

Ngoài mô hình Many to Many như ta thấy ở trên thì RNN còn rất nhiều dạng khác như sau: Recurrent Neural Network(Phần 1): Tổng quan và ứng dụng

Để hiểu rõ hơn về mô hình rnn, hãy xem ví dụ sau: Đối với tập đầu vào x = [h, e, l, o], hãy sử dụng mô hình rnn để tạo ra một từ có nghĩa. Chúng tôi sẽ mã hóa các chữ cái dưới dạng một mã hóa nóng.

Và kết quả như sau: Recurrent Neural Network(Phần 1): Tổng quan và ứng dụng

Chúng tôi thấy rằng ký tự bắt đầu bằng “h”, từ đó chúng tôi tìm thấy ký tự tiếp theo có xác suất lớn nhất là “e” và “e” tiếp tục là đầu vào cho cụm tiếp theo, … mọi lúc, cho đến khi một từ có nghĩa được hình thành, trong trường hợp này là “xin chào”.

rnn được ứng dụng và thành công trong nhiều bài toán, đặc biệt là trong lĩnh vực nlp (xử lý ngôn ngữ tự nhiên). Về lý thuyết, rnn thực sự có thể nhớ các phép tính trước đó (thông tin), nhưng các mô hình rnn truyền thống không thể nhớ các bước xa do mất đạo hàm (cái này sẽ nói ở bài sau) nên sự thành công của mô hình này chủ yếu đến từ Khác mô hình cải tiến, lstm (trí nhớ ngắn hạn dài hạn, sẽ được đề cập trong một bài viết sau). Về cơ bản, lstm giống với rnn truyền thống, ngoại trừ việc cổng tính toán được thêm vào lớp ẩn để quyết định thông tin nào cần giữ.

Chúng ta sẽ khám phá một số lĩnh vực chính mà rnn và lstm được sử dụng.

Mô hình hóa ngôn ngữ và tạo văn bản tự động

rnn cho phép chúng ta dự đoán xác suất của một từ mới cho các từ trước đó. Cơ chế này hoạt động giống như ví dụ trên, với đầu ra của một cụm là đầu vào cho cụm tiếp theo, cho đến khi chúng ta nhận được một câu hoàn chỉnh. Đầu vào thường được mã hóa dưới dạng mã hóa nóng vector một. Ví dụ: đối với tập dữ liệu 50000 câu, chúng tôi nhận được một từ điển gồm 4000 từ và từ “hot” ở vị trí 128, khi đó vectơ một hot cho từ “hot” sẽ là vectơ gồm 4000 phần tử, tất cả chỉ bằng 0. 128 bằng 1 ở hầu hết các vị trí. Mô hình là một mô hình nhiều đến nhiều với cùng số lượng đầu ra, đầu vào và các lớp ẩn. Một số nghiên cứu trong lĩnh vực này:

  • Mô hình ngôn ngữ dựa trên mạng nơ-ron tuần hoàn
  • Mở rộng mô hình ngôn ngữ dựa trên mạng nơ-ron tuần hoàn
XEM THÊM:  Thanh dẫn điện Busway là gì? so sánh Busway và Busbar

Dịch máy

Dịch máy giống với mô hình ngôn ngữ ở chỗ đầu vào của chúng là một chuỗi các từ trong ngôn ngữ cần dịch(ví dụ: tiếng Đức). Ta cần phải dịch các từ đó sang một ngôn ngữ đích(ví dụ: tiếng Anh). Nếu suy nghĩ đơn giản thì nó thật dễ đúng không, chỉ cần ánh xạ từ đó đến nghĩa của từ đó trong database rồi ghép chúng lại với nhau. Nhưng mọi thứ không đơn giản như vậy, vì mỗi từ khi đi cùng một từ trước nó thì nghĩa của nó lại thay đổi, và một từ có rất nhiều nghĩa trong từng hoàn cảnh khác nhau, vậy nên đó là lý do ta cần dùng đến RNN để tạo ra một câu dịch sát cả về nghĩa và văn vẻ. Để làm được vậy thì ta cần phải xem xét và xử lý qua tất cả chuỗi đầu vào. Recurrent Neural Network(Phần 1): Tổng quan và ứng dụng Một số nghiên cứu về dịch máy :

  • Mạng thần kinh lặp lại lặp lại để dịch máy thống kê
  • Học trình tự theo trình tự bằng cách sử dụng mạng thần kinh

Nhận dạng giọng nói

Chuỗi đầu tiên là tín hiệu âm thanh dưới dạng sóng âm thanh và chúng tôi có thể dự đoán chuỗi các phân đoạn giọng nói và xác suất của chúng. Một số nghiên cứu về nhận dạng giọng nói:

  • Nhận dạng giọng nói đầu cuối bằng cách sử dụng mạng nơ-ron lặp lại

Mô tả hình ảnh

Trong lĩnh vực này mạng convolution neural network thường được sử dụng để detect các object có trong ảnh sau đó RNN sẽ sinh ra các câu có nghĩa mô tả bức ảnh đó. Sự kết hợp này mang lại sự hiệu quả đáng kinh ngạc. Recurrent Neural Network(Phần 1): Tổng quan và ứng dụng Recurrent Neural Network(Phần 1): Tổng quan và ứng dụng Hình ảnh trên là cách những người thiết kế đã kết hợp mạng CNN VGG16 (bỏ đi 2 lớp FC-1000 và Softmax) với mạng RNN.

Trên đây, chúng ta đã hiểu toàn diện nhất về rnn là gì và cách sử dụng nó. Trong phần tiếp theo, chúng ta sẽ tìm hiểu về đào tạo và trả lời câu hỏi về tổn thất phái sinh là gì và tại sao nó khiến các mạng rnn truyền thống không thể nhớ các bước xa.

10 bài giảng trình chiếu của khóa học stanford về hướng dẫn sử dụng Mạng thần kinh tái tạo rnn (loạt bài tuyệt vời về rnn, nhưng có thể hơi khó hiểu nếu bạn chưa quen với nó)

Như vậy trên đây chúng tôi đã giới thiệu đến bạn đọc Recurrent Neural Network(Phần 1): Tổng quan và ứng dụng. Hy vọng bài viết này giúp ích cho bạn trong cuộc sống cũng như trong học tập thường ngày. Chúng tôi xin tạm dừng bài viết này tại đây.

Website: https://phebinhvanhoc.com.vn/

Thông báo: Phê Bình Văn Học ngoài phục vụ bạn đọc ở Việt Nam chúng tôi còn có kênh tiếng anh PhebinhvanhocEN cho bạn đọc trên toàn thế giới, mời thính giả đón xem.

Chúng tôi Xin cám ơn!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *