Xin chào và chào mừng bạn trở lại khóa học về trí tuệ nhân tạo.
Được rồi.
Vì vậy, tôi hy vọng bạn sẽ thích các hướng dẫn cho đến nay.
Chúng tôi gần như hoàn thành với trực giác.
Bạn sẽ sớm.
Rất sớm.
Nhìn vào khía cạnh thực tế của mọi thứ.
Chúng tôi chỉ có một vài điều nhỏ cần phải che đậy.
Được rồi, trước đây chúng ta đã nói về cách chúng ta thêm mạng nơ-ron vào toàn bộ phương trình học chính này
và đưa việc học của bạn sang bước tiếp theo và biến nó thành học sâu.
Và hôm nay chúng ta sẽ thêm một tính năng quan trọng bổ sung, mà bạn sẽ viết mã trong khía cạnh thực tế của mọi
thứ.
Vì vậy, Hudlin và tôi quyết định rằng điều quan trọng là chúng ta phải che đậy nó trong khía cạnh trực giác của mọi thứ để bạn chuẩn bị tốt
hơn cho nó khi nói đến khía cạnh mã hóa của mọi thứ.
Vì vậy, như chúng ta đã thảo luận, chúng ta đã có mạng ở đó.
Có hai phần xảy ra.
Trước hết, đó là sự học hỏi.
Vì vậy, mạng thực sự học hỏi với mọi trạng thái mới.
Nó từ từ cập nhật các trọng số của nó để ngày càng tốt hơn và ngày càng tốt hơn trong việc xử lý môi trường này.
Và sau đó là hành động bên trong trạng thái.
Vì vậy, sau khi các giá trị Q đã được đếm ở trạng thái, thì một giá trị khóa được chọn.
Vì vậy, hôm nay chúng ta vẫn sẽ nói về phần học.
Chúng tôi sẽ đưa ra một tính năng thú vị sẽ hoạt động tốt, chúng tôi
sẽ không tự nghĩ ra tính năng này, nhưng chúng tôi sẽ nói về một tính năng rất quan trọng đối với học sâu.
Và tính năng đó được gọi là Experience Replay.
Được rồi, đây là mạng của chúng tôi.
Vì vậy, chúng tôi vừa sao chép nó ở đây.
Chúng tôi nhận thấy rằng một khoản lỗ được tính ở dưới cùng được lan truyền trở lại thông qua mạng của chúng tôi.
Và chúng ta hãy xem một ví dụ về những gì sẽ xảy ra để hiểu vấn đề mà chúng ta đang giải quyết tốt hơn
một chút.
Vì vậy, đây là một ví dụ thực sự từ khóa học này.
Đây là ảnh chụp màn hình chính xác từ khóa học này.
Đây là những gì bạn sẽ lập trình.
Đây là một chiếc ô tô tự lái đang chạy qua con đường này và nó phải học cách điều hướng con đường
này.
Và vì vậy, như chúng ta đã thảo luận trước đây, điều này là gì trong trạng thái này?
Và tất nhiên, trạng thái sẽ không chỉ là X một và x hai.
Alan sẽ mô tả chi tiết hơn một chút về trạng thái sẽ là một vài thông số
liên quan đến góc của chiếc xe và một số thông số tương đối, những gì các cảm biến đang đọc, v.v.
Vì vậy, sẽ có nhiều tham số hơn thế để mô tả trạng thái, nhưng tuy nhiên, nó sẽ là
một vectơ giá trị.
Nó sẽ đi qua một mạng nơ-ron.
Và sau đó trên đầu ra, bạn sẽ có một số giá trị Q.
Một lần nữa, sẽ có một khác nhau tùy thuộc vào môi trường, có thể có một số hành động khác nhau, các
hành động có thể xảy ra.
Nhưng chúng tôi sẽ chỉ, vì đơn giản, hãy để nó ở chỉ để chúng tôi có thể hiểu rõ hơn một chút về
những gì đang xảy ra ở đây.
Vì vậy, trong trường hợp này, câu hỏi là cho đến nay, đầu vào này là gì vào mạng nơ-ron này?
Hay cụ thể hơn, tần suất chúng ta kích hoạt mạng nơ-ron này như thế nào?
Mạng nơ-ron này trải qua bao lâu một lần?
Vâng, mỗi khi chiếc xe kết thúc ở trạng thái mới, vì vậy chiếc xe di chuyển, nó kết thúc ở trạng thái mới.
Và rồi mọi thứ trôi qua.
Tất cả dữ liệu đó, tất cả thông tin về trạng thái đi qua mạng là một sai số được tính toán.
Lỗi này được tính dựa trên những gì chúng ta đã thảo luận trong các bài hướng dẫn trước đây.
Lỗi này được lan truyền trở lại thông qua mạng.
Trọng lượng được cập nhật, sau đó chiếc xe sẽ chọn hành động sẽ thực hiện để chuyển động đó kết thúc ở
trạng thái mới.
Ở trạng thái mới mọi thứ bắt đầu lại từ đầu.
Và về cơ bản điều này xảy ra mỗi khi chiếc xe ở trạng thái mới.
Vâng, hãy xem ví dụ này.
Tôi đặc biệt chụp ảnh màn hình vì có vẻ như nó minh họa rất tốt vấn đề được giải quyết thông qua trải
nghiệm, phát lại và trải nghiệm.
Phát lại không chỉ là thứ mà chúng tôi sử dụng trong khóa học này hoặc trong vấn đề cụ thể này.
Nó là thứ mà bạn sẽ thấy được sử dụng xuyên suốt, giống như lặp đi lặp lại trong các thuật toán
trí tuệ nhân tạo, bởi vì nó rất mạnh và rất quan trọng.
Vì vậy, hãy nhìn vào chiếc xe này, chiếc xe này trong vấn đề này hoặc trong môi trường này.
Mục tiêu của nó là đi từ đây đến đây và quay lại.
Mục tiêu của nó là điều hướng đến đây, ở đây mà không cần băng qua những bức tường làm bằng cát này.
Và thế là chiếc xe bắt đầu từ đây, nó lao xuống và giống như phần thưởng của nó dựa trên mức độ gần đến mục tiêu của
nó.
Vì vậy, chiếc xe đã đi từ đây.
Nó đi xuống và cứ tiếp tục như thế này, thế này, thế này, như thế này.
Dọc theo bức tường này, dọc theo bức tường này.
Và nó sẽ làm gì tiếp theo?
Nó sẽ rẽ và nó sẽ tiếp tục đi.
Chà, những gì chúng tôi muốn nó làm là tiếp tục ở đây.
Nhưng chúng ta hãy nghĩ về nó một chút.
Khi nó đã đến bức tường này, mỗi khi nó di chuyển về phía trước, nó sẽ di chuyển về phía trước.
Nó tiến về phía trước, nó tiến về phía trước, tiến lên phía trước, nó tiến lên phía trước, nó tiến lên và cứ như vậy
nó tiến về phía trước.
Vì vậy, chúng có thể giống như tùy thuộc vào môi trường cấu trúc, nó có thể giống như 100 lần di chuyển ở đây hoặc 50 lần
di chuyển ở đây.
Họ chỉ tiếp tục tiến về phía trước, phía trước, phía trước, phía trước trong bốn.
Và không có gì thay đổi.
Không.
Thực sự thay đổi.
Có, nó càng xa mục tiêu này, càng gần mục tiêu này.
Thật đáng yêu.
Nhưng xét về môi trường xung quanh, không có nhiều thứ đang thay đổi.
Vẫn là bức tường đó.
Nếu bạn đang ngồi trong ô tô, chắc chắn bạn đã từng thấy tình huống này khi bạn đang lái xe trong
bất cứ thứ gì bạn thấy giống như môi trường quá đơn điệu đến mức bạn chỉ nhìn thấy một thứ giống như vừa
lướt qua .
Nhưng giống như, hãy tưởng tượng bạn đang lái xe qua sa mạc và bạn cũng đang nhìn thấy điều tương tự.
Đó là cùng một âm thanh, đó là cùng một âm thanh.
Không có gì đang xảy ra, không có gì là thay đổi.
Và về cơ bản, nhưng mỗi khi chúng ta đưa trạng thái đó, trạng thái mới đó vào đây, vâng, tất nhiên, điều gì đó
có thể đang thay đổi.
Ví dụ: bạn đang lái ô tô và GPS của bạn đang hiển thị rằng bạn đang ở gần điểm đến của mình hơn.
Vì vậy, một trong những yếu tố đầu vào này là sự thay đổi.
Nhưng rất nhiều đầu vào khác, chẳng hạn như cảm biến, trên xe hơi, chúng không thay đổi.
Và do đó, khi bạn đang lái xe.
Vì vậy, ở trạng thái này, bạn đặt đầu vào các đầu vào vào mạng nơ-ron của mình.
Đây, đây, đây, đây, đây, đây, đây và đây và đây.
Tất cả các đầu vào đều giống nhau.
Và vì vậy nếu bạn tiếp tục nhập các đầu vào giống nhau, cùng giá trị, cùng một vectơ hoặc các vectơ rất
giống nhau vào mạng của bạn, bởi vì không có sự đa dạng, chiếc xe sẽ học rất tốt.
Một điều bạn sẽ học rất tốt cách lái xe dọc theo bức tường này, nằm bên phải của nó.
Và đó là cách mạng sẽ cập nhật và nó sẽ nhận được phần thưởng.
Nó sẽ từ từ bắt đầu nhận được phần thưởng cho việc lái xe.
Vì vậy, nó sẽ giống như, được, vì vậy từ đây nó sẽ bắt đầu học, Ồ, tôi làm rất tốt.
Tôi thậm chí còn làm tốt hơn.
Tôi đang làm nó tốt hơn.
Nó sẽ có điều này, nhận thức sai lầm rằng nó thực sự đang hoạt động rất tốt, mặc dù nó chỉ học
cách lái xe dọc theo bức tường này.
Và do đó, mạng lưới thần kinh sẽ trở nên rất thích nghi với việc lái xe dọc theo bức tường này.
Và rồi đột nhiên có một khúc cua này và chiếc xe không biết phải làm gì và nó hoàn toàn không
phù hợp với mạng lưới thần kinh này.
Và ngay cả khi nó điều chỉnh bằng cách nào đó, hãy giả sử rằng nó vượt qua phần này và sau đó nó kết thúc ở bức tường
này, điều tương tự sẽ xảy ra.
Nó sẽ lái từ đây, đây, đây.
Bây giờ, mạng nơ-ron đang tự tái cấu trúc để thích ứng với bức tường này và sau đó, bạn ơi, điều này sẽ xảy ra.
Và sau đó, ngay cả khi bằng cách nào đó nó vượt qua điều đó, nó sẽ vượt qua điều này.
Và sau đó điều tương tự dọc theo những dòng này.
Vì vậy, về cơ bản nó giống như một ví dụ rất sinh động về một vấn đề mà chúng ta gặp phải.
Đó là bởi vì cách chúng ta đang sử dụng mạng nơ-ron, cập nhật nó với mọi trạng thái đơn lẻ, một khi chúng ta có nhiều
bước liên tiếp, chúng thậm chí không cần phải giống nhau.
Nhưng trong các môi trường, điều bình thường là các trạng thái liên tiếp tương quan hoặc phụ thuộc lẫn nhau bằng cách nào đó.
Và chúng tôi không muốn sự phụ thuộc lẫn nhau đó làm sai lệch mạng lưới của chúng tôi.
Chúng tôi không muốn chiếc xe chỉ học cách lái xe như một đường thẳng hay một đường cong dài hoặc giống như bất cứ
điều gì mà bạn nghĩ rằng bạn có thể nghĩ đến trong cuộc sống, nơi một nhân viên sẽ điều hướng một môi trường bất
cứ nơi nào bạn có thể nghĩ đến trạng thái tương quan hoặc phụ thuộc lẫn nhau xuất hiện sau trạng
thái khác, điều đó thực sự có thể làm rối loạn mạng nơ-ron của bạn nếu bạn chỉ để cho tác nhân học hỏi từ đó.
Và đó là lúc trải nghiệm phát lại xuất hiện.
Những gì xảy ra trong trải nghiệm chơi lại là những trải nghiệm này.
Vì vậy, những trạng thái này nói rằng đó là từ 1 đến 3, tuy nhiên ở đây có nhiều 50 trạng thái liên tiếp, chúng không được đưa
vào mạng ngay lập tức.
Chúng thực sự được lưu vào bộ nhớ của tác nhân.
Và vì vậy, ví dụ, nó được lưu tất cả những thứ này và lưu tất cả những thứ này và một số vào một
thời điểm nào đó khi nó đạt đến một ngưỡng nhất định mà bạn sẽ có thể viết mã và Atlan sẽ chỉ cho
bạn cách làm điều đó khi nó đạt đến một ngưỡng nhất định, sau đó đại lý tự quyết định.
Được rồi, đã đến lúc học.
Tôi có Tôi có lô kinh nghiệm này mà tôi có, và bây giờ tôi sẽ học hỏi từ lô đó.
Và do đó, nó chọn ngẫu nhiên một phân bố đồng đều và đồng nhất là điều quan trọng ở đây vì đó là điều mà chúng ta
sẽ nói đến trong trang trình bày tiếp theo.
Chúng tôi sẽ đề cập đến điều đó.
Nhưng nó cần một mẫu phân bố đồng đều.
Vì vậy, về cơ bản tất cả các trải nghiệm được coi là ngang nhau.
Nó lấy một mẫu được phân phối đồng đều từ lô trải nghiệm mà nó có.
Và sau đó nó đi qua họ và nó học hỏi từ họ.
Vì vậy, nó không mất tất cả kinh nghiệm.
Nó chỉ lấy một mẫu được phân phối đồng đều.
Vì vậy, nó có thể mất một vài từ đây, một vài từ đây, một vài từ đây.
Và mỗi trải nghiệm được đặc trưng bởi trạng thái.
Đó là trong hành động mà nó đã thực hiện, trạng thái mà nó đã đạt được và phần thưởng nó đạt được thông qua hành động đó
trong trạng thái cụ thể đó.
Vì vậy, đối với các yếu tố trong mỗi trạng thái kinh nghiệm, một trạng thái hành động và phần thưởng.
Và vì vậy nó lấy tất cả những kinh nghiệm đó và sau đó nó chuyển chúng qua mạng và nó học hỏi.
Và theo cách đó, nó phá vỡ khuôn mẫu của điều đó.
Elias, xuất phát từ bản chất tuần tự của các trải nghiệm, nếu bạn đặt chúng lần
lượt qua mạng.
Vì vậy, đó là trọng tâm chính của trải nghiệm chơi lại.
Đó là vấn đề mà địa chỉ đó gặp phải.
Và một lợi ích khác của việc chơi lại trải nghiệm là đôi khi trong môi trường như thế này, bạn có thể có
những trải nghiệm rất quý giá, hiếm có.
Ví dụ, tôi không biết, hãy nói chúng ta hãy nhìn vào góc này.
Đúng?
Đây là một góc bên phải.
Đúng.
Và một cái rất sắc nét.
Có bao nhiêu là sắc nét?
Vì vậy, nó sẽ đến từ đây, giả sử nó sẽ ôm lấy góc này.
Vậy toàn bộ căn phòng này có bao nhiêu góc nhọn bên phải?
Chúng tôi chỉ có một góc bên phải ở đây và một góc bên phải ở đây.
Đúng?
Vì vậy, khi nó đến theo hướng này, đó là góc bên phải.
Và sau đó khi nó quay trở lại, nó là góc nhọn bên phải ở đây.
Vì vậy, và cái này không sắc nét.
Cái này là sắc nét.
Vì vậy, chỉ có một cơ hội trong toàn bộ môi trường để học hỏi từ một góc phải sắc bén.
Và đó là một trải nghiệm quan trọng bởi vì nó có thể thực sự thành thạo khi lái xe dọc theo đường thẳng, thực
sự thành thạo khi thực hiện những góc cua mềm, tương tự như vậy.
Nhưng và sau đó nó sẽ tiếp tục lộn xộn góc nhọn bên phải này đơn giản vì đơn giản vì nó không có nhiều cơ hội
để học hỏi từ nó.
Và do đó, nó sẽ học mọi thứ khác khá nhanh, nhưng sẽ mất nhiều thời gian để tìm hiểu góc bên
phải này.
Đó là một ví dụ rất đơn giản.
Đó là một lời giải thích rất đơn giản, nhưng nó minh họa khái niệm rằng đôi khi chúng là những trải nghiệm hiếm
hoi có thể có giá trị.
Và nếu bạn chỉ đang thực hiện một mạng nơ-ron đơn giản, nơi bạn đang đưa các giá trị của mình vào đây và chúng sẽ trải qua và,
bạn biết đấy, giống như ngay cả khi chúng ta quên vấn đề đó về bản chất tuần tự của trải nghiệm và cách
chúng có thể phụ thuộc lẫn nhau và hoặc tương quan và thậm chí quên điều đó trong một giây, điều xảy ra là khi
bạn đưa một trải nghiệm vào, trải nghiệm đó đi qua các mạng được cập nhật, sau đó bạn ngay lập tức quên nó
đi, quên đi trải nghiệm đó.
Bạn chuyển sang phần tiếp theo.
Đó chỉ là cách mạng nơ-ron hoạt động.
Sau đó, bạn chuyển sang trạng thái tiếp theo, trạng thái tiếp theo, trạng thái tiếp theo, trải nghiệm
tiếp theo, trải nghiệm tiếp theo, trải nghiệm tiếp theo, v.v.
Vì vậy, góc bên phải này, ngay sau khi nó đi qua một mạng, nó đã biến mất và bạn không còn nhớ
gì về trải nghiệm quý giá đó.
Trong khi với việc chơi lại có kinh nghiệm, vì bạn đang đưa những trải nghiệm này vào các đợt, bạn có thể sắp xếp đợt của mình dưới
dạng cửa sổ luân phiên.
Ví dụ: bạn có thể có 100 lô, 100 kinh nghiệm trong lô của bạn.
Vì vậy, khi nó quay trở lại từ đây, nó sẽ sớm ghi lại trải nghiệm này trong lô của nó.
Sau đó, giống như tại một thời điểm nào đó, nó chạy, nó sẽ có sự phân bổ đồng đều từ loạt trải nghiệm của nó và sau đó có
một cửa sổ luân phiên.
Vì vậy, nó quên những kinh nghiệm này, nhưng sau đó nó giữ lại những kinh nghiệm này và sau đó nó lại
học được từ một lần ở đây, nó học từ đợt này.
Và sau đó một khi nó ở đây, nếu nó đi đến tận đây, nhưng sau đó nó có một loạt các trải nghiệm như
vậy.
Vì vậy, bây giờ nó học hỏi từ những kinh nghiệm này.
Và theo cách đó những gì bạn nhận được là góc bên phải này có thể xuất hiện nhiều lần trong quá trình học tập của nó vì nó
nằm trong đợt đó khi đợt này giống như thế này xung quanh đó.
Sau đó, nó nằm trong lô ở đây, trong lô ở đây.
Vì vậy, nó xuất hiện thành nhiều đợt vì đợt này có thể được cập nhật dưới dạng cửa sổ trải nghiệm luân phiên.
Vì vậy, những trải nghiệm cũ hơn bị loại bỏ, những trải nghiệm mới hơn được thêm vào, và sau đó một lần nữa trải nghiệm cũ lại
được khởi động.
Vì vậy, một kinh nghiệm, nó sẽ nằm trong lô khá lâu và nhà xe hoặc đại lý có thể rút kinh
nghiệm vài lần.
Vì vậy, đó là một lợi thế khác của trải nghiệm chơi lại.
Và tất nhiên lợi thế cuối cùng là kinh nghiệm.
Phát lại mang đến cho bạn cơ hội học hỏi từ nhiều kinh nghiệm hơn là nếu bạn chỉ học từ một người cùng một
lúc, bởi vì bạn có lô đó và do đó và đó là một cửa sổ luân phiên.
Và do đó, ngay cả khi môi trường của bạn bị giới hạn trải nghiệm, thì cách tiếp cận phát lại trải nghiệm của bạn
có thể giúp bạn học nhanh hơn.
Và thay vì chỉ làm lại môi trường nhiều, nhiều lần, bạn có thể học nhanh hơn vì bạn không phải làm
lại nó.
Bạn đã lưu lại những kinh nghiệm đó.
Vì vậy, đó là những lợi thế chính của kinh nghiệm.
Phát lại.
Hãy tóm tắt lại điều đó.
Chúng tôi đã phá vỡ mô hình độc lập và.
Tương quan của các trải nghiệm tuần tự.
Chúng tôi lưu lại những trải nghiệm hiếm hoi có thể quan trọng và do đó chúng tôi có thể học hỏi từ chúng thường xuyên hơn.
Và chúng ta có thể học trong các môi trường.
Chúng ta có thể học hỏi những môi trường nuôi dưỡng vốn là kinh nghiệm, những môi trường thiếu kinh nghiệm, những môi trường không có nhiều kinh nghiệm mà
người đại diện phải trải qua và chúng ta vẫn có thể học hỏi được.
Vì vậy, đó là tất cả những gì trải nghiệm chơi lại.
Nếu bạn muốn đọc nhiều hơn một chút, có một bài báo thú vị được xuất bản bởi DeepMind vào
năm 2016.
Nó được gọi là Phát lại trải nghiệm được ưu tiên và nói về lý do.
Tại sao chúng tôi sử dụng phân phối đồng nhất để chọn trải nghiệm của mình từ lô trải nghiệm?
Tại sao chúng ta không tìm cách tốt hơn để chọn lọc những trải nghiệm của mình và ưu tiên một số trải nghiệm mà chúng
ta cảm thấy là quan trọng?
Và vì vậy đó là một điều khá thú vị.
Vì vậy, trong trường hợp này, bạn sẽ không chỉ củng cố, không chỉ củng cố kiến thức của mình về phát lại trải nghiệm, mà
còn thực sự có thể di chuyển với công nghệ tiên tiến.
Đây là năm 2016 và được xuất bản bởi Deep Mind.
Vì vậy, nó là một bài báo rất gần đây, rất mạnh mẽ.
Vì vậy, bạn sẽ có thể thực sự khám phá các giới hạn hoặc khám phá sâu hơn nữa thuật toán này và đưa nó lên cấp
độ tiếp theo.
Vì vậy, tôi sẽ giao việc đó cho bạn để tìm hiểu lý do và cách chúng tôi có thể thay đổi phân phối đồng đều sang một cách tiếp cận khác
để trải nghiệm phát lại từ bài báo này, nếu bạn muốn, và tôi hy vọng bạn thích hướng dẫn hôm nay.
Và bây giờ chúng tôi biết trải nghiệm chơi lại là gì và chúng tôi có thể tự tin sử dụng nó trong các hướng dẫn thực tế của mình.
Và tôi mong được gặp bạn lần sau.
Cho đến lúc đó, hãy tận hưởng.
TÔI.