WEBVTT

00:00.550 --> 00:03.340
Xin chào và chào mừng bạn trở lại khóa học về Học sâu.

00:03.340 --> 00:06.580
Trong hướng dẫn hôm nay, chúng ta đang nói về gradient descent.

00:06.580 --> 00:13.240
Những gì chúng ta đã học trước đây là để một mạng nơ-ron có thể học được, điều cần xảy ra là

00:13.240 --> 00:14.260
lan truyền ngược.

00:14.260 --> 00:23.080
Và đó là khi sai số, sự khác biệt hoặc tổng bình phương của sự khác biệt giữa y hat và y được truyền ngược

00:23.080 --> 00:28.210
lại thông qua mạng nơ-ron và trọng số được điều chỉnh cho phù hợp.

00:28.210 --> 00:34.150
Vì vậy, chúng ta đã thấy điều đó và hôm nay chúng ta sẽ tìm hiểu chính xác cách điều chỉnh các trọng lượng này.

00:34.150 --> 00:35.230
Vì vậy, chúng ta hãy xem xét.

00:35.920 --> 00:43.960
Đây là phiên bản rất đơn giản của mạng nơ-ron, một perceptron hoặc một mạng nơ-ron truyền tiếp cấp một

00:43.960 --> 00:44.590
lớp.

00:44.590 --> 00:52.360
Và những gì chúng ta có thể thấy ở đây là toàn bộ quá trình này đang hoạt động trong đó chúng ta có một số giá trị đầu

00:52.360 --> 00:56.920
vào, sau đó chúng ta có trọng số, sau đó một hàm kích hoạt được áp dụng.

00:56.920 --> 00:59.800
Chúng tôi nhận được chiếc mũ trắng và sau đó chúng tôi so sánh nó với giá trị thực tế.

00:59.800 --> 01:01.570
Chúng tôi tính toán hàm chi phí.

01:01.570 --> 01:05.200
Vậy làm thế nào chúng ta có thể giảm thiểu hàm chi phí?

01:05.200 --> 01:07.270
Những gì chúng tôi có thể làm gì về nó?

01:07.270 --> 01:14.680
Chà, một cách tiếp cận để làm điều đó là cách tiếp cận bạo lực trong đó chúng ta chỉ cần lấy tất cả các trọng lượng khác nhau có thể

01:14.680 --> 01:18.130
có và xem xét chúng và xem cái nào hoạt động tốt nhất.

01:18.130 --> 01:24.280
Và những gì chúng tôi làm, chẳng hạn, chúng tôi sẽ thử, chẳng hạn như 1000 quả cân và chúng tôi thử mô

01:24.280 --> 01:24.760
hình.

01:24.940 --> 01:27.640
Chúng tôi sẽ nhận được một cái gì đó như thế này cho hàm chi phí.

01:27.640 --> 01:32.740
Và đây là biểu đồ trên trục Y, bạn có hàm chi phí hoặc trục tung.

01:32.740 --> 01:39.100
Trên trục hoành, bạn có mũ y và bởi vì bạn có thể thấy công thức là y mũ trừ y bình phương, đây

01:39.100 --> 01:41.590
là hàm chi phí sẽ trông giống như vậy.

01:42.510 --> 01:47.100
Và về cơ bản bạn sẽ tìm thấy cái hay nhất ở đây.

01:47.760 --> 01:50.490
Vì vậy, cách tiếp cận rất đơn giản, rất trực quan.

01:50.850 --> 01:53.130
Tại sao không thực hiện phương pháp vũ phu này?

01:53.130 --> 02:02.100
Tại sao không chỉ cần thử 1000 chi phí khác nhau, hàng nghìn thông số hoặc đầu vào khác nhau cho các quả cân và xem cái nào hoạt động

02:02.100 --> 02:02.940
tốt nhất?

02:02.940 --> 02:04.110
Bạn sẽ tìm thấy cái tốt nhất theo cách đó.

02:04.140 --> 02:07.530
Chà, nếu bạn chỉ có một cách để tối ưu hóa, thì cách này có thể hiệu quả.

02:07.530 --> 02:14.100
Nhưng khi bạn tăng số lượng trọng lượng, tăng số lượng khớp thần kinh trong mạng của bạn, bạn phải đối mặt

02:14.100 --> 02:16.310
với lời nguyền về chiều không gian.

02:16.320 --> 02:18.690
Và vậy lời nguyền của chiều không gian là gì?

02:19.350 --> 02:24.390
Cách tốt nhất để mô tả hoặc giải thích điều này là chỉ cần xem xét một ví dụ thực tế.

02:24.390 --> 02:30.420
Vì vậy, hãy nhớ ví dụ này mà chúng ta đã có khi nói về cách mạng

02:30.420 --> 02:36.870
nơ-ron thực sự hoạt động, nơi chúng tôi đang xây dựng hoặc chạy mạng nơ-ron để đánh giá thuộc tính.

02:36.870 --> 02:40.500
Vì vậy, đây là những gì nó trông giống như khi nó được đào tạo.

02:40.500 --> 02:43.440
Chà, khi nó chưa được huấn luyện trước đây, thì nó đã được huấn luyện trước đó.

02:43.440 --> 02:47.520
Chúng tôi biết trọng số nào, mạng nơ-ron thực tế trông như thế này.

02:47.520 --> 02:54.960
Đúng vậy, bởi vì chúng ta có tất cả các khớp thần kinh khác nhau có thể có và chúng ta vẫn phải tập luyện nâng cao trọng lượng.

02:54.960 --> 03:00.600
Và ở đây chúng ta có tổng cộng 25 trọng số, vì vậy bốn lần năm trọng số ở đầu, cộng thêm năm trọng số nữa từ

03:00.600 --> 03:03.330
lớp ẩn đến lớp đầu ra, tổng cộng là 25 trọng số.

03:03.390 --> 03:09.030
Và hãy xem làm thế nào chúng ta có thể cưỡng bức 25 tạ.

03:09.150 --> 03:13.230
Đó là một mạng nơ-ron rất đơn giản ngay tại đây, rất đơn giản.

03:13.230 --> 03:14.400
Chỉ một lớp ẩn.

03:14.400 --> 03:21.090
Và làm thế nào chúng ta có thể cưỡng bức theo cách của mình thông qua một mạng nơ-ron có kích thước như thế này?

03:21.090 --> 03:24.150
Vâng, chúng ta hãy làm một số phép tính toán học đơn giản.

03:24.150 --> 03:25.800
Chúng tôi có 25 quả cân.

03:25.800 --> 03:30.330
Vì vậy, điều đó có nghĩa là nếu chúng ta có 1000 kết hợp mà chúng ta sẽ kiểm

03:30.330 --> 03:36.960
tra cho mọi trọng lượng, thì tổng số kết hợp là 1000 với lũy thừa của 25 hoặc 1000 hoặc mười với lũy thừa của 75 kết hợp khác nhau.

03:37.680 --> 03:46.800
Bây giờ, hãy xem Sunway làm cách nào để đạt danh hiệu siêu máy tính nhanh nhất thế giới tính đến tháng 6 năm 2016.

03:47.250 --> 03:49.590
Làm thế nào nó sẽ tiếp cận vấn đề này?

03:49.590 --> 03:49.770
Đúng.

03:49.770 --> 03:53.730
Vì vậy, một số cách buộc với ánh sáng, nó trông như thế này.

03:53.760 --> 03:58.770
Đó là cả một tòa nhà khổng lồ dành cho một siêu máy tính này.

03:58.770 --> 04:04.470
Và nó đã đạt kỷ lục Guinness thế giới vì là siêu máy tính nhanh nhất.

04:05.100 --> 04:08.160
Hiện tại, nó là siêu máy tính nhanh nhất thế giới.

04:08.160 --> 04:14.730
Và Sunway Tiger Light có thể hoạt động với tốc độ 93 petaFLOPS.

04:15.220 --> 04:24.300
Một flop là viết tắt của hoạt động nổi mỗi giây, vì vậy nó có thể thực hiện 93 đến công suất gấp 10 lần so với

04:24.300 --> 04:27.930
công suất của 15 hoạt động trôi nổi mỗi giây.

04:27.930 --> 04:32.280
Đó là cách so sánh nhanh chóng.

04:32.280 --> 04:37.980
Các máy tính trung bình hiện nay chỉ thích hơn vài giga flops, v.v.

04:37.980 --> 04:44.130
Vì vậy, giống như loại phạm vi đó ít hơn Sunway Twilight.

04:44.130 --> 04:47.790
Vì vậy, Sunway Twilight luôn đi đầu trong lĩnh vực công nghệ.

04:48.150 --> 04:57.900
Và giả thuyết rằng nó có thể thực hiện một, một bài kiểm tra, một sự kết hợp cho mạng nơ-ron của chúng ta trong một lần flop,

04:57.900 --> 05:01.320
về cơ bản trong một hoạt động thả nổi.

05:01.560 --> 05:03.150
Đó là không thể.

05:03.150 --> 05:08.910
Điều đó không thực tế vì bạn cần nhiều phép toán nổi để kiểm tra một trọng số duy nhất trong mạng nơ-ron

05:08.910 --> 05:09.420
của mình.

05:09.420 --> 05:11.190
Nhưng ngay cả khi chúng ta hãy bắt đầu nó.

05:11.190 --> 05:14.970
Hãy nói rằng nó có thể làm điều đó trong một thế giới lý tưởng.

05:14.970 --> 05:17.310
Nó có thể làm điều đó trong một hoạt động nổi.

05:17.310 --> 05:19.830
Nó có thể thực hiện một bài kiểm tra trên một hoạt động nổi.

05:19.830 --> 05:28.470
Điều đó có nghĩa là nó sẽ vẫn yêu cầu 10 đến lũy thừa của 75 chia cho 93 lần, 10 thành vạch, 15 giây sắp tới,

05:28.470 --> 05:33.900
để chạy tất cả các bài kiểm tra đó để bạo lực thông qua mạng đó.

05:33.900 --> 05:39.540
Vì vậy, điều đó có nghĩa là một hoặc khoảng mười đến lũy thừa của 58 giây, và tương đương với

05:39.540 --> 05:41.850
mười đối với lũy thừa của 50 năm.

05:41.850 --> 05:44.220
Đó là một con số khổng lồ.

05:44.220 --> 05:48.120
Đó là lâu hơn vũ trụ đã tồn tại.

05:48.120 --> 05:52.800
Và điều đó chắc chắn sẽ không đơn giản là con số này quá lớn.

05:52.800 --> 05:58.860
Nó chỉ chắc chắn sẽ không hiệu quả với chúng tôi trong việc tối ưu hóa của chúng tôi.

05:58.860 --> 05:59.970
Vậy là xong.

05:59.970 --> 06:01.170
Đây là một không không.

06:01.170 --> 06:05.340
Ngay cả trên đèn chiếu sáng tiêu đề đường đi nắng siêu máy tính nhanh nhất thế giới.

06:05.340 --> 06:07.560
Vì vậy, chúng tôi phải đưa ra một cách tiếp cận khác.

06:07.560 --> 06:10.080
Làm thế nào chúng ta sẽ tìm thấy trọng lượng tối ưu?

06:10.080 --> 06:13.500
Nhân tiện, mạng nơ-ron này của chúng tôi rất đơn giản.

06:13.500 --> 06:17.060
Còn nếu mạng nơ-ron trông giống như thế này thì sao?

06:17.100 --> 06:22.110
Hoặc thậm chí lớn hơn thế nữa, vậy thì, nó sẽ không xảy ra chút nào, bao giờ.

06:22.530 --> 06:26.100
Vì vậy, phương pháp chúng ta sẽ xem xét được gọi là gradient descent.

06:26.100 --> 06:28.200
Và bạn có thể đã nghe nói về nó rồi.

06:28.410 --> 06:30.630
Nếu chưa, chúng ta sẽ tìm hiểu xem nó là gì ngay bây giờ.

06:30.630 --> 06:40.500
Vì vậy, có hàm chi phí của chúng tôi và bây giờ chúng tôi sẽ xem làm thế nào chúng tôi có thể thúc đẩy để đưa ra một cách nhanh

06:40.500 --> 06:41.910
hơn để tìm ra.

06:41.980 --> 06:43.120
Lựa chọn tốt nhất.

06:43.120 --> 06:44.980
Vì vậy, giả sử chúng ta bắt đầu từ đâu đó.

06:44.980 --> 06:45.850
Bạn phải bắt đầu từ đâu đó.

06:45.850 --> 06:52.810
Vì vậy, chúng tôi bắt đầu từ đó và từ điểm trên cùng bên trái, những gì chúng tôi sẽ làm là

06:52.810 --> 06:58.510
chúng tôi sẽ xem xét góc độ của hàm chi phí của chúng tôi tại thời điểm đó.

06:58.510 --> 07:01.900
Vì vậy, chúng ta sẽ chỉ về cơ bản đó là lý do tại sao nó được gọi là gradient, bởi vì bạn phải phân biệt.

07:01.900 --> 07:03.790
Chúng ta sẽ không xem xét các phương trình toán học.

07:04.090 --> 07:09.220
Chúng tôi sẽ cung cấp một số mẹo khi đọc thêm ở cuối bài giảng tiếp theo.

07:09.580 --> 07:16.900
Nhưng về cơ bản bạn chỉ cần phân biệt, tìm xem độ dốc ở điểm cụ thể đó là gì và tìm xem

07:16.900 --> 07:19.180
độ dốc là dương hay âm.

07:19.180 --> 07:23.890
Nếu độ dốc là âm, như trong trường hợp này có nghĩa là bạn đang xuống dốc.

07:23.890 --> 07:27.070
Vì vậy, bên phải là xuống dốc, bên trái là lên dốc.

07:27.070 --> 07:29.620
Và từ đó nó có nghĩa là bạn cần phải đi đúng.

07:29.620 --> 07:32.920
Về cơ bản, bạn cần phải xuống dốc và đó là những gì chúng tôi sẽ làm.

07:32.950 --> 07:35.140
Phòng có một bước, phải không?

07:35.380 --> 07:37.390
Quả bóng lại lăn xuống.

07:37.390 --> 07:38.230
Điều tương tự.

07:38.230 --> 07:39.460
Bạn tính toán độ dốc.

07:39.460 --> 07:44.860
Lúc này độ dốc là dương, nghĩa là bên phải là lên dốc, bên trái là xuống dốc và

07:44.860 --> 07:52.120
bạn cần phải đi sang trái và bạn lăn quả bóng xuống và một lần nữa bạn tính độ dốc và bạn lăn quả bóng sang phải.

07:52.960 --> 07:53.470
Chúng ta bắt đầu.

07:53.470 --> 08:02.980
Vì vậy, đó là cách bạn tìm thấy trong các thuật ngữ đơn giản, đó là cách bạn tìm thấy trọng lượng tốt nhất, tình huống tốt nhất để giảm thiểu hàm

08:02.980 --> 08:04.420
chi phí của bạn.

08:04.420 --> 08:06.520
Tất nhiên, nó sẽ không giống như một quả bóng.

08:06.520 --> 08:12.670
Lăn sẽ là một kiểu tiếp cận rất ngoằn ngoèo, nhưng sẽ dễ nhớ hơn vì nhìn nó như một

08:12.670 --> 08:14.860
quả bóng lăn sẽ thú vị hơn.

08:14.860 --> 08:18.500
Nhưng trong thực tế, có, bạn sẽ giống như cách tiếp cận từng bước một.

08:18.500 --> 08:20.560
Vì vậy, nó sẽ là một loại phương pháp zig zag.

08:21.820 --> 08:22.210
Ừ.

08:22.210 --> 08:24.970
Và cũng có rất nhiều yếu tố khác trong đó.

08:24.970 --> 08:31.540
Có những thứ như, chẳng hạn, tại sao như tại sao nó lại đi xuống?

08:31.540 --> 08:35.020
Tại sao nó không giống như đi qua dòng?

08:35.020 --> 08:40.360
Vì vậy, nó có thể đã nhảy ra khỏi cái này đi lên trên thay vì đi xuống và những thứ tương tự.

08:40.360 --> 08:41.890
Vì vậy, chúng là các thông số mà bạn có thể điều chỉnh.

08:41.890 --> 08:45.460
Và một lần nữa, chúng tôi sẽ đề cập đến nơi bạn có thể tìm hiểu thêm về điều đó.

08:45.460 --> 08:50.470
Và thêm vào đó, chúng tôi sẽ có điều này trong một ứng dụng thực tế, nhưng theo cách tiếp cận trực quan đơn giản nhất.

08:50.470 --> 08:51.670
Đây là những gì đang xảy ra.

08:51.670 --> 08:57.730
Chúng ta đang đi đến tận cùng bằng cách hiểu chúng ta cần phải đi theo con đường nào thay vì ép buộc thô

08:57.730 --> 09:02.800
bạo thông qua hàng nghìn và hàng nghìn và hàng triệu và hàng tỷ tỷ tỷ sự kết hợp.

09:02.800 --> 09:08.860
Chúng ta có thể chỉ đơn giản là mỗi lần xem nó ở đâu, nó dốc ở đâu.

09:08.860 --> 09:13.720
Vì vậy, giống như bạn tưởng tượng bạn đang đứng trên một ngọn đồi, nó sẽ cảm thấy nó đi xuống theo hướng nào và nó

09:13.720 --> 09:16.420
đi xuống theo hướng nào, bạn cứ tiếp tục đi theo hướng đó.

09:16.420 --> 09:20.320
Bạn giống như, bạn thực hiện 50 bước theo cách đó và sau đó bạn đánh giá lại, nó sẽ đi theo hướng nào?

09:20.320 --> 09:21.370
Đi xuống theo cách này.

09:21.370 --> 09:23.170
Được rồi, bây giờ hãy thực hiện 50 bước hoặc ít hơn.

09:23.170 --> 09:27.880
Hãy thực hiện 40 bước theo cách đó, vì vậy nó ngày càng ít đi khi bạn đến gần hơn.

09:28.390 --> 09:32.650
Vì vậy, đây là một ví dụ về giảm độ dốc được áp dụng trong không gian hai chiều.

09:32.650 --> 09:35.440
Vì vậy, đó là một ví dụ một chiều.

09:36.460 --> 09:40.180
Ở đây chúng ta có một không gian hai chiều cho sự giảm dần gradient.

09:40.180 --> 09:44.890
Như bạn có thể thấy, nó đang tiến gần đến mức tối thiểu và nó còn được gọi là

09:44.890 --> 09:49.240
giảm dần độ dốc vì bạn đang giảm dần đến mức tối thiểu của hàm chi phí.

09:49.420 --> 09:53.260
Và cuối cùng, đây là độ dốc gradient được áp dụng trong ba chiều.

09:53.260 --> 09:54.340
Đây là những gì nó trông như thế này.

09:54.340 --> 09:59.260
Nếu bạn chiếu nó lên hai chiều, bạn có thể thấy nó chạy ngoằn ngoèo đến mức tối thiểu.

09:59.440 --> 10:00.020
Vậy là xong.

10:00.070 --> 10:05.890
Đó là gốc gradient trong hướng dẫn chúng ta sẽ nói về gốc gradient ngẫu nhiên sẽ là phần tiếp theo của hướng

10:05.890 --> 10:08.620
dẫn này và tôi mong được gặp bạn ở đó.

10:08.620 --> 10:10.720
Và vì vậy lần sau hãy tận hưởng việc học sâu.
