WEBVTT

00:00.180 --> 00:02.220
Xin chào và chào mừng đến với hướng dẫn này.

00:02.250 --> 00:14.310
Được rồi.

00:14.490 --> 00:20.550
Và nói về chúng, điều duy nhất mà chúng ta phải làm bây giờ chỉ là tạo ra hai kết nối tuyến tính, đầy đủ, một

00:20.550 --> 00:22.770
cho diễn viên và một cho nhà phê bình.

00:22.980 --> 00:27.120
Nhưng trước khi làm điều đó, chúng ta cần nhận được số lượng các hành động có thể thực hiện được.

00:27.120 --> 00:32.310
Và vì vậy tôi sẽ gọi một biến mới ở đây sẽ không phải là một biến của đối tượng.

00:32.310 --> 00:38.790
Vì vậy, tôi sẽ không sử dụng self ở đây, nhưng tôi sẽ tạo các đầu ra biến num sẽ đại diện cho số lượng các hành

00:38.790 --> 00:44.100
động có thể xảy ra và để lấy nó ở nơi chúng ta có thể lấy nó từ không gian hành động.

00:44.310 --> 00:46.800
Vì vậy, chúng tôi có không gian hành động của chúng tôi.

00:47.600 --> 00:54.020
Đó sẽ là đầu vào của hàm init khi chúng ta tạo đối tượng và sau đó chúng ta thêm dấu chấm

00:54.020 --> 01:01.010
n để có được số hành động có thể này và bây giờ tác nhân và nhà phê bình sẽ lấy riêng cùng một đầu vào.

01:01.010 --> 01:06.230
Đó là đầu ra của toàn bộ quá trình này ở đây với các chập và LCM.

01:06.230 --> 01:12.860
Vì vậy, nó sẽ lấy cùng một đầu vào, đó là một trạng thái được mã hóa, nhưng sau đó chúng sẽ có hai kết nối thực phẩm

01:12.860 --> 01:18.020
tuyến tính khác nhau để cuối cùng chúng ta thực sự nhận được hai mạng thần kinh, một cho tác nhân và

01:18.020 --> 01:18.800
một cho acrylic.

01:18.800 --> 01:20.870
Vì vậy, hãy tạo hai mạng nơ-ron riêng biệt này.

01:20.870 --> 01:27.020
Nhưng vì chúng tôi đã làm được công việc lớn với mã hóa ở đây, nên những gì chúng tôi cần làm chỉ đơn giản là tạo

01:27.020 --> 01:32.630
ra hai đối tượng, một kết nối tuyến tính, đầy đủ cho tác nhân và một kết nối tuyến tính đầy đủ khác cho

01:32.630 --> 01:33.440
nhà phê bình.

01:33.440 --> 01:35.240
Và đó chính xác là những gì tôi sẽ làm.

01:35.240 --> 01:42.080
Bây giờ tôi sẽ tạo hai đối tượng, một đối tượng đầu tiên cho kết nối thực phẩm tuyến tính của nhà phê

01:42.080 --> 01:46.040
bình, mà tôi sẽ gọi nhà phê bình gạch dưới tuyến tính.

01:46.310 --> 01:50.210
Và để tạo ra kết nối thực phẩm tuyến tính này, bạn biết cách làm.

01:50.210 --> 01:56.090
Chúng ta chỉ cần lấy mô-đun RN và sau đó là lớp tuyến tính mà chúng ta phải

01:56.090 --> 02:02.210
nhập vào, nơi các nơ-ron đầu vào, là đầu ra của tất cả mã hóa này ở đây với

02:02.210 --> 02:04.940
các chập và LCM, tức là 256 nơ-ron.

02:04.940 --> 02:13.430
Vì vậy, đầu vào 256 ở đây và sau đó chúng ta sẽ có một đầu ra vì hãy nhớ đầu ra của mạng nơ-ron cho người chỉ trích là giá trị

02:13.430 --> 02:19.220
của hàm V được áp dụng cho trạng thái đầu vào, cho trạng thái mã hóa đầu vào mà chúng ta

02:19.220 --> 02:20.810
đã thực hiện ở đây.

02:20.930 --> 02:25.850
Vì vậy, nếu chúng ta gọi trạng thái đầu vào se là đầu ra của tất cả điều này.

02:25.850 --> 02:32.660
Đầu ra của mạng nơ-ron của nhà phê bình sẽ là s và do đó nó có một chiều, nó chỉ là

02:32.660 --> 02:33.620
một giá trị.

02:33.620 --> 02:36.020
Và vì vậy ở đây chúng tôi nhập một.

02:36.260 --> 02:42.950
Và hãy nhớ VSE là những gì được chia sẻ giữa các diễn viên để họ có thể nhận được một số thông tin chung mà họ có thể

02:42.950 --> 02:46.340
sử dụng để thực hiện hành động của họ theo cách phù hợp hơn.

02:47.180 --> 02:50.330
Vì vậy, đó là cho mạng lưới thần kinh của nhà phê bình.

02:50.330 --> 02:58.970
Và bây giờ chúng ta hãy tạo mạng lưới diễn viên mới và do đó tôi thêm ở đây tự, diễn viên chấm, tuyến tính và

02:59.510 --> 03:00.500
giống nhau.

03:00.500 --> 03:05.720
Chúng tôi đã có trạng thái mã hóa đầu vào, vì vậy bây giờ chúng tôi chỉ cần thêm một kết nối tuyến

03:05.720 --> 03:11.150
tính đầy đủ và do đó nói rằng chúng tôi lấy mô-đun RN, sau đó là lớp tuyến tính và bây giờ là như vậy.

03:11.150 --> 03:17.390
Mạng nơ-ron của tác nhân này sẽ có trạng thái được mã hóa có kích thước là 256.

03:17.390 --> 03:19.820
Vì vậy, 256 ở đây.

03:19.820 --> 03:25.940
Nhưng sau đó đầu ra sẽ khác vì tất nhiên bạn biết nó là đầu ra của mạng nơ-ron cho tác nhân

03:25.940 --> 03:32.240
là các giá trị Q, giá trị Q của trạng thái đầu vào, trạng thái mà chúng ta đã mã hóa ở đây

03:32.240 --> 03:33.560
và tấm hành động.

03:33.560 --> 03:40.640
Vì vậy, một lần nữa, nếu chúng ta gọi trạng thái được mã hóa này mà chúng ta có thể nghe thấy SW và hành động đóng vai trò đầu

03:40.640 --> 03:44.150
ra của tuyến tính hoạt động mạng nơ-ron này sẽ là Q khảo nghiệm.

03:44.660 --> 03:49.910
Và vì bạn biết đấy, chúng tôi có một giá trị cho mỗi hành động, do đó chúng tôi không có đầu ra.

03:49.940 --> 03:53.870
Giá trị Q và do đó đầu ra ở đây sẽ không có giá trị nào.

03:54.710 --> 03:59.090
Kết quả đầu ra vì không có đầu ra nào thực sự là số giá trị Q.

03:59.690 --> 04:00.850
Được rồi, hoàn hảo.

04:00.860 --> 04:03.920
Vì vậy, nếu bạn muốn, tôi có thể viết cho bạn.

04:03.920 --> 04:17.210
Đầu ra ở đây đối với nhà phê bình là s trong đó s là trạng thái được mã hóa và đối với tác nhân, đầu ra là Q là a.

04:17.960 --> 04:18.290
Được rồi.

04:18.290 --> 04:23.780
Vì vậy, điều rất quan trọng là phải hiểu sự khác biệt này ở đây và hiểu rằng do đó chúng ta có hai mạng

04:23.780 --> 04:27.320
nơ-ron riêng biệt, một dành cho nhà phê bình và một dành cho tác nhân.

04:28.200 --> 04:29.220
Được rồi, hoàn hảo.

04:29.220 --> 04:31.900
Vì vậy, chúng tôi gần như đã hoàn thành điều này trong chức năng này.

04:31.920 --> 04:33.890
Bây giờ điều quan trọng nhất đã xong.

04:33.900 --> 04:39.510
Việc còn lại duy nhất mà chúng ta phải làm là khởi tạo tất cả trọng số của hai mạng nơ-ron đó và

04:39.510 --> 04:40.710
tất cả độ lệch.

04:40.710 --> 04:45.240
Và tất nhiên, để làm điều đó, chúng ta sẽ sử dụng hai hàm mà chúng ta đã thực hiện trước đó,

04:45.240 --> 04:48.030
đó là khởi tạo cột chuẩn hóa và trọng số trong đó.

04:48.270 --> 04:49.680
Vì vậy, chúng ta hãy làm điều đó nhanh chóng.

04:49.680 --> 04:51.780
Nó sẽ khá dễ dàng và khá nhanh chóng.

04:51.930 --> 04:56.550
Vì vậy, trước tiên chúng ta sẽ khởi tạo một số trọng số ngẫu nhiên và để làm điều này, chúng ta sẽ áp dụng hàm

04:56.550 --> 04:58.170
init weights cho đối tượng của chúng ta.

04:58.170 --> 05:06.120
Vì vậy, ở đây chúng ta phải tự lấy đối tượng của mình và đối với đối tượng của chúng ta, chúng ta đã áp dụng hàm weights init.

05:06.300 --> 05:13.140
Vì vậy, bên trong chúng ta chỉ cần nhập hàm weights init và chúng ta bắt đầu.

05:13.140 --> 05:15.690
Điều đó sẽ áp dụng chức năng này cho đối tượng của chúng tôi.

05:15.690 --> 05:21.090
Và bằng cách làm này, chúng tôi chỉ khởi tạo một số trọng số ngẫu nhiên để có được kết quả học tập tối ưu trong tương lai về các

05:21.090 --> 05:21.720
trọng số này.

05:21.720 --> 05:27.420
Và bây giờ những gì chúng ta phải làm là chuẩn hóa đặc biệt cho diễn viên và nhà phê bình.

05:27.420 --> 05:33.060
Nhưng hãy nhớ, tôi nghĩ rằng tôi đã nói điều này trong các hướng dẫn trước, chúng ta sẽ không đặt một phương sai giống

05:33.060 --> 05:35.040
nhau cho tác nhân trong nhà phê bình.

05:35.160 --> 05:40.350
Tác nhân sẽ nhận được độ lệch chuẩn nhỏ, phương sai nhỏ, và nhà phê bình sẽ nhận được độ lệch lớn.

05:40.680 --> 05:41.730
Và tại sao chúng tôi làm điều này?

05:41.730 --> 05:47.520
Mục đích của việc đưa ra độ lệch chuẩn nhỏ của các trọng số cho tác nhân và độ lệch chuẩn lớn của các trọng

05:47.520 --> 05:49.260
số cho nhà phê bình là gì?

05:49.260 --> 05:53.640
Chà, điều đó cho phép quản lý việc khám phá giao dịch và khai thác.

05:53.640 --> 05:55.740
Đó chính xác là mục đích của việc làm này.

05:55.740 --> 06:01.680
Bằng cách đưa ra một phương sai nhỏ cho tác nhân và một phương sai lớn cho nhà phê bình, chúng tôi sẽ

06:01.680 --> 06:04.110
quản lý tốt việc khám phá và khai thác.

06:04.410 --> 06:05.550
Vì vậy, chúng ta hãy làm điều này.

06:05.580 --> 06:09.960
Đầu tiên chúng ta hãy quan tâm đến diễn viên để chúng ta tự nhận hay phản đối.

06:09.960 --> 06:14.730
Sau đó, chúng ta sẽ lấy mạng nơ-ron của tác nhân của chúng tôi, đó là tác nhân tuyến tính.

06:14.880 --> 06:20.280
Sau đó, chúng ta sẽ truy cập các trọng số của mạng nơ-ron này của tác nhân, và nhớ truy cập dữ liệu

06:20.280 --> 06:21.300
của các trọng số.

06:21.300 --> 06:22.860
Chúng tôi cần thêm dữ liệu đó.

06:23.250 --> 06:24.060
Được rồi.

06:24.060 --> 06:30.390
Vì vậy, với điều này, chúng tôi nhận được các trọng số và bây giờ chúng tôi sẽ sử dụng chức năng khởi tạo các cột chuẩn hóa của chúng tôi.

06:31.200 --> 06:33.870
Vì vậy, tôi đang sao chép điều này dựa trên điều đó ở đây.

06:34.080 --> 06:38.760
Và chúng ta sẽ nhập làm đối số độ lệch chuẩn mà chúng ta muốn các trọng số này có.

06:38.970 --> 06:41.940
Nhưng trước tiên, hãy nhớ rằng, hàm này có hai đối số.

06:41.940 --> 06:44.970
Đầu tiên là các trọng số chúng ta muốn khởi tạo.

06:44.970 --> 06:49.650
Vì vậy, chúng ta chỉ cần lấy nó một lần nữa và dán nó vào đây.

06:49.650 --> 06:54.390
Và đối số thứ hai là độ lệch chuẩn này mà chúng ta muốn các trọng số này có.

06:54.390 --> 07:02.730
Vì vậy, như chúng tôi đã nói, chúng tôi muốn một độ lệch chuẩn nhỏ cho diễn viên và độ lệch chuẩn nhỏ sẽ bằng 0. 01 hoàn hảo.

07:02.730 --> 07:05.640
Vì vậy, đó là trọng số của mạng lưới thần kinh của tác nhân.

07:05.640 --> 07:09.450
Bây giờ chúng ta hãy quan tâm đến độ lệch của mạng thần kinh của tác nhân.

07:09.600 --> 07:11.970
Và do đó, ở đây chúng ta sẽ làm gần như tương tự.

07:11.970 --> 07:20.070
Chúng tôi sẽ sao chép điều này dựa trên ở bên dưới, thay thế trọng số bằng độ chệch để đánh giá độ chệch.

07:20.070 --> 07:28.740
Và sau khi dữ liệu, chúng tôi chỉ cần thêm điền đó và ghi nhớ bên trong đầu vào là số 0 vì chúng tôi muốn tất cả

07:28.740 --> 07:30.930
độ lệch được khởi tạo bằng 0.

07:31.260 --> 07:37.800
Vì vậy, thực ra tôi không nghĩ dòng này là cần thiết vì như bạn nhớ, độ lệch đã được khởi

07:37.800 --> 07:41.340
tạo bằng 0 với hàm điền này trong hàm weights init.

07:41.340 --> 07:47.970
Vì vậy, bạn biết đấy, chúng tôi đang làm điều này chỉ để đảm bảo rằng độ lệch thực sự được khởi tạo bằng 0, nhưng tôi nghĩ rằng nó

07:47.970 --> 07:49.440
đã được thực hiện ở đây.

07:49.440 --> 07:52.530
Nhưng dù sao, bây giờ chúng tôi chắc chắn 100%.

07:52.860 --> 07:53.280
Được rồi.

07:53.280 --> 07:55.920
Và bây giờ chúng ta sẽ làm điều tương tự đối với nhà phê bình.

07:55.920 --> 07:58.980
Vì vậy, hãy hiệu quả và hãy sao chép hai dòng này.

08:00.030 --> 08:02.430
Hãy dán chúng ở đây và ở đây.

08:02.430 --> 08:06.540
Chúng tôi sẽ thay thế diễn viên bằng nhà phê bình.

08:07.050 --> 08:08.850
Ở đây và bây giờ cũng vậy.

08:08.850 --> 08:12.300
Điều duy nhất mà chúng ta phải thay đổi chỉ là độ lệch chuẩn.

08:12.300 --> 08:15.690
Chúng tôi muốn các nhà phê bình có trọng số của mạng lưới mới.

08:15.690 --> 08:22.710
Và như bạn nhớ, chúng tôi muốn lần này là một độ lệch chuẩn lớn và thay vì. 01, chúng tôi sẽ nhập

08:22.710 --> 08:23.430
một.

08:23.580 --> 08:24.360
Vậy là xong.

08:24.360 --> 08:30.300
Chúng ta có độ lệch chuẩn nhỏ đối với trọng số của mạng mới của tác nhân và độ lệch chuẩn lớn đối với

08:30.300 --> 08:33.120
trọng số của mạng nơ-ron của tác nhân phê bình.

08:33.150 --> 08:37.320
Và tất nhiên, chúng ta đừng quên thay thế diễn viên ở đây bằng cách tạo.

08:37.830 --> 08:38.190
Được rồi.

08:38.190 --> 08:39.030
Và bây giờ chúng tôi tốt.

08:39.630 --> 08:40.320
Mát mẻ.

08:40.320 --> 08:42.330
Vì vậy, bây giờ chúng ta có hai việc còn lại để làm.

08:42.330 --> 08:45.750
Đầu tiên là khởi tạo thiên vị của STM.

08:45.750 --> 08:50.610
Và để làm điều này, chúng ta lấy đối tượng của mình vì LCM thuộc về đối tượng của chúng ta.

08:50.610 --> 08:57.120
Sau đó, chúng tôi lấy STM của chúng tôi, sau đó DOT, và sau đó chúng tôi sẽ nhận được hai loại thiên vị có

08:57.180 --> 08:57.930
trong STM.

08:57.930 --> 09:04.430
Đó là bias gạch dưới i h và một còn lại là bias gạch dưới h h.

09:04.440 --> 09:09.810
Vì vậy, đó là hai loại thiên vị trong LCM và giống nhau, chúng sẽ được khởi tạo bằng 0.

09:09.810 --> 09:18.990
Vì vậy, trước tiên chúng tôi truy cập vào dữ liệu và sau đó chúng tôi sử dụng hàm điền dấu gạch dưới để điền vào tất cả sự thiên vị này bằng các

09:18.990 --> 09:19.620
số không.

09:19.620 --> 09:21.180
Khởi tạo chúng bằng các số không.

09:21.780 --> 09:22.200
Được rồi.

09:22.200 --> 09:27.150
Và bây giờ đối với nhóm thiên vị thứ hai, chúng tôi thêm vào đây.

09:27.700 --> 09:30.880
Cùng một bit, chúng tôi thay thế i h bằng h h.

09:31.390 --> 09:35.770
Được rồi, vì vậy điều đó khởi tạo thiên vị của nhóm LSB bằng các số không.

09:36.190 --> 09:41.950
Và bây giờ điều cuối cùng chúng ta cần làm là sử dụng một phương thức được kế thừa từ NAT module, đó

09:41.950 --> 09:43.000
là phương thức train.

09:43.000 --> 09:47.290
Và về cơ bản đó chỉ là một phương pháp đặt mô-đun ở chế độ tàu.

09:47.290 --> 09:48.670
Vậy công dụng của nó là gì?

09:48.670 --> 09:55.390
Chà, việc sử dụng là nó cho phép kích hoạt nếu có bất kỳ trường hợp bỏ qua và chuẩn hóa hàng loạt.

09:55.390 --> 10:03.010
Và do đó, để sử dụng nó, chúng tôi chỉ cần thêm tự chấm tàu và điều đó đặt mô-đun ở chế độ đào tạo hoàn hảo.

10:03.010 --> 10:05.440
Vậy là chúng ta đã thực hiện xong với hàm init.

10:05.440 --> 10:10.960
Chúng tôi có sự phức tạp của chúng tôi, chúng tôi có lshtm, chúng tôi có hai mạng thần kinh riêng biệt dành cho nhà

10:10.960 --> 10:15.340
phê bình và tác nhân và tất cả các trọng số và thiên vị đều được khởi tạo tốt.

10:15.340 --> 10:16.630
Vì vậy, đó là tất cả tốt.

10:16.630 --> 10:21.490
Chúng tôi đã sẵn sàng để chuyển sang bước tiếp theo, đó là làm cho chức năng chuyển tiếp, tất nhiên

10:21.490 --> 10:26.830
sẽ truyền tín hiệu về phía trước ngay từ đầu với các hình ảnh đầu vào ban đầu trong toàn bộ não cho đến

10:26.830 --> 10:28.450
khi chúng tôi nhận được đầu ra.

10:28.780 --> 10:30.670
Vì vậy, hãy làm điều đó trong hướng dẫn tiếp theo.

10:30.670 --> 10:32.410
Và cho đến khi đó, hãy tận hưởng tôi.
