18. Phụ lục: Toán học cho Deep Learning¶
** Brent Werness** (* Amazon), **Rachel Hu* (* Amazon*) và tác giả của cuốn sách này
Một trong những phần tuyệt vời của học sâu hiện đại là thực tế là phần lớn nó có thể được hiểu và sử dụng mà không có sự hiểu biết đầy đủ về toán học bên dưới nó. Đây là một dấu hiệu cho thấy lĩnh vực này đang trưởng thành. Cũng giống như hầu hết các nhà phát triển phần mềm không còn cần phải lo lắng về lý thuyết về các chức năng tính toán, các học viên học sâu cũng không cần phải lo lắng về nền tảng lý thuyết của khả năng học tối đa.
Nhưng, chúng tôi chưa hoàn toàn ở đó.
Trong thực tế, đôi khi bạn sẽ cần phải hiểu làm thế nào các lựa chọn kiến trúc ảnh hưởng đến dòng chảy gradient, hoặc các giả định ngầm mà bạn thực hiện bằng cách đào tạo với một chức năng mất mát nhất định. Bạn có thể cần phải biết những gì trong các biện pháp entropy thế giới, và làm thế nào nó có thể giúp bạn hiểu chính xác ý nghĩa của bitmỗi ký tự trong mô hình của bạn. Tất cả đều đòi hỏi sự hiểu biết toán học sâu hơn.
Phụ lục này nhằm mục đích cung cấp cho bạn nền toán học bạn cần để hiểu lý thuyết cốt lõi của học sâu hiện đại, nhưng nó không đầy đủ. Chúng tôi sẽ bắt đầu với việc kiểm tra đại số tuyến tính ở độ sâu lớn hơn. Chúng tôi phát triển một sự hiểu biết hình học của tất cả các đối tượng đại số tuyến tính phổ biến và các hoạt động sẽ cho phép chúng tôi hình dung các hiệu ứng của các biến đổi khác nhau trên dữ liệu của chúng tôi. Một yếu tố chính là sự phát triển của những điều cơ bản của sự phân hủy eigen-.
Tiếp theo chúng ta phát triển lý thuyết về phép tính vi phân đến mức chúng ta có thể hiểu đầy đủ tại sao gradient là hướng của dòng dõi dốc nhất, và tại sao sự lan truyền ngược lại có dạng nó. Tích phân sau đó được thảo luận với mức độ cần thiết để hỗ trợ chủ đề tiếp theo của chúng tôi, lý thuyết xác suất.
Các vấn đề gặp phải trong thực tế thường xuyên là không chắc chắn, và do đó chúng ta cần một ngôn ngữ để nói về những điều không chắc chắn. Chúng tôi xem xét lý thuyết về các biến ngẫu nhiên và các bản phân phối thường gặp nhất để chúng tôi có thể thảo luận về các mô hình xác suất. Điều này cung cấp nền tảng cho phân loại Bayes ngây thơ, một kỹ thuật phân loại xác suất.
Liên quan chặt chẽ đến lý thuyết xác suất là nghiên cứu về thống kê. Mặc dù số liệu thống kê là một lĩnh vực quá lớn để thực hiện công lý trong một phần ngắn, chúng tôi sẽ giới thiệu các khái niệm cơ bản mà tất cả các học viên máy học cần phải nhận thức, đặc biệt là: đánh giá và so sánh các ước lượng, tiến hành các bài kiểm tra giả thuyết và xây dựng khoảng thời gian tự tin.
Cuối cùng, chúng ta chuyển sang chủ đề lý thuyết thông tin, đó là nghiên cứu toán học về lưu trữ và truyền thông tin. Điều này cung cấp ngôn ngữ cốt lõi mà theo đó chúng ta có thể thảo luận về số lượng thông tin mà một mô hình nắm giữ trên một miền diễn ngôn.
Kết hợp với nhau, những hình thành cốt lõi của các khái niệm toán học cần thiết để bắt đầu con đường hướng tới một sự hiểu biết sâu sắc về học sâu.
- 18.1. Hình học và các hoạt động đại số tuyến tính
- 18.1.1. Hình học của Vectơ Trước tiên, chúng ta cần thảo luận về hai cách giải thích hình học phổ biến của vectơ, như một trong hai điểm hoặc hướng trong không gian. Về cơ bản, một vectơ là danh sách các số như danh sách Python bên dưới.
- 18.1.2. Dot Sản phẩm và Angles Như chúng ta đã thấy trong
sec_linear-algebra
, nếu chúng ta lấy hai vectơ cột \(\mathbf{u}\) và \(\mathbf{v}\), chúng ta có thể tạo thành sản phẩm chấm của chúng bằng cách tính toán: - 18.1.3. Siêu máy bay
- 18.1.4. Hình học của biến đổi tuyến tính
- 18.1.5. Sự phụ thuộc tuyến tính
- 18.1.6. thứ hạng
- 18.1.7. Khả năng đảo ngược
- 18.1.8. Xác định Quan điểm hình học của đại số tuyến tính đưa ra một cách trực quan để diễn giải một đại lượng cơ bản được gọi là quyết định. Hãy xem xét hình ảnh lưới từ trước, nhưng bây giờ với một khu vực được tô sáng (
fig_grid-filled
). - 18.1.9. Tensors và hoạt động đại số tuyến tính phổ biến
- 18.1.10. Tóm tắt * Vectơ có thể được giải thích về mặt hình học như một trong hai điểm hoặc hướng trong không gian * Các sản phẩm chấm xác định khái niệm góc đến không gian chiều cao tùy ý. Chúng có thể được sử dụng để xác định các mặt phẳng quyết định thường được sử dụng như là bước cuối cùng trong một nhiệm vụ phân loại. * Phép nhân ma trận có thể được giải thích về mặt hình học là biến dạng thống nhất của tọa độ bên dưới. Chúng đại diện cho một cách rất hạn chế, nhưng về mặt toán học sạch, để biến đổi vectơ. * Phụ thuộc tuyến tính là một cách để biết khi một tập hợp các vectơ nằm trong một không gian chiều thấp hơn chúng ta mong đợi (giả sử bạn có \(3\) vectơ sống trong một không gian \(2\) chiều). Thứ hạng của ma trận là kích thước của tập hợp con lớn nhất của các cột của nó độc lập tuyến tính * Khi nghịch đảo của ma trận được xác định, đảo ngược ma trận cho phép chúng ta tìm một ma trận khác hoàn tác hành động của đầu tiên. Ma trận đảo ngược là hữu ích trong lý thuyết, nhưng đòi hỏi sự chăm sóc trong thực tế do sự bất ổn số.* yếu tố quyết định cho phép chúng ta đo lường bao nhiêu ma trận mở rộng hoặc ký hợp đồng một không gian. Một yếu tố quyết định nonzero ngụ ý một ma trận đảo ngược (không số ít) và một yếu tố xác định có giá trị không có nghĩa là ma trận không thể đảo ngược (số ít). * co thắt tensor và tổng kết Einstein cung cấp cho một ký hiệu gọn gàng và sạch sẽ để thể hiện nhiều tính toán được nhìn thấy trong học máy.
- 18.1.11. Exercises
- 18.2. Eigendecompositions
- 18.2.1. Tìm kiếm Eigenvalues Hãy để chúng tôi tìm ra cách tìm chúng. Bằng cách trừ \(\lambda \mathbf{v}\) từ cả hai phía, và sau đó bao thanh toán ra vectơ, ta thấy ở trên tương đương với:
- 18.2.2. Phân hủy ma trận Hãy để chúng tôi tiếp tục ví dụ trước một bước nữa. Hãy để
- 18.2.3. Hoạt động trên Eigendecomposition Một điều hay về eigendecomposition
eq_eig_decomp
là chúng ta có thể viết nhiều thao tác mà chúng ta thường gặp phải một cách sạch sẽ về sự phân hủy. Như một ví dụ đầu tiên, hãy xem xét: - 18.2.4. Eigendecompositions of Symmetric Matrận Không phải lúc nào cũng có thể tìm thấy đủ các eigenvectơ độc lập tuyến tính cho quá trình trên hoạt động. For instance ví dụ the matrix ma trận
- 18.2.5. Định lý vòng tròn Gershgorin Eigenvalues thường khó lý luận với trực giác. Nếu trình bày một ma trận tùy ý, có rất ít điều có thể nói về những gì eigenvalues là mà không tính toán chúng. Tuy nhiên, có một định lý có thể làm cho nó dễ dàng gần đúng nếu các giá trị lớn nhất nằm trên đường chéo.
- 18.2.6. Một ứng dụng hữu ích: Sự phát triển của bản đồ lặp
- 18.2.7. Kết luận
- 18.2.8. Tóm tắt * Eigenvectors là các vectơ được kéo dài bởi một ma trận mà không thay đổi hướng. * Eigenvalues là số tiền mà các eigenvectors được kéo dài bởi ứng dụng của ma trận. * Sự phân hủy của ma trận có thể cho phép nhiều phép toán được giảm xuống các hoạt động trên eigenvalues. Định lý vòng tròn Gershgorin có thể cung cấp các giá trị gần đúng cho eigenvalues của ma trận * hành vi của các công suất ma trận lặp lại phụ thuộc chủ yếu vào kích thước của eigenvalue lớn nhất. Sự hiểu biết này có nhiều ứng dụng trong lý thuyết khởi tạo mạng thần kinh.
- 18.2.9. Exercises
- 18.3. Tính toán biến đơn
- 18.4. Tính toán đa năng
- 18.4.1. Sự khác biệt chiều cao hơn Điều
sec_single_variable_calculus
nói với chúng ta là nếu chúng ta thay đổi một trong số hàng tỷ trọng này để lại mọi trọng lượng khác cố định, chúng ta biết điều gì sẽ xảy ra! Điều này không có gì khác hơn là một hàm của một biến duy nhất, vì vậy chúng ta có thể viết - 18.4.2. Hình học của Gradient và Gradient Descent Xem xét biểu thức từ
eq_nabla_use
một lần nữa: - 18.4.3. Một lưu ý về tối ưu hóa toán học Trong suốt cuốn sách này, chúng tôi tập trung thẳng vào các kỹ thuật tối ưu hóa số vì lý do thực tế mà tất cả các hàm chúng ta gặp phải trong cài đặt deep learning là quá phức tạp để giảm thiểu rõ ràng.
- 18.4.4. Multivariate Chain Rule
- 18.4.5. Thuật toán Backpropagation
- 18.4.6. Hessia Như với phép tính biến đơn lẻ, nó rất hữu ích để xem xét các dẫn xuất bậc cao hơn để có được một xử lý về cách chúng ta có thể có được một xấp xỉ tốt hơn với một hàm hơn là sử dụng gradient một mình.
- 18.4.7. A Little Matrix Calculus Dẫn xuất của các hàm liên quan đến ma trận hóa ra là đặc biệt tốt đẹp. Phần này có thể trở nên nặng nề về mặt công thức, vì vậy có thể bị bỏ qua trong lần đọc đầu tiên, nhưng rất hữu ích khi biết các dẫn xuất của các hàm liên quan đến hoạt động ma trận phổ biến thường sạch hơn nhiều so với người ta có thể dự đoán ban đầu, đặc biệt là cho các hoạt động ma trận trung tâm như thế nào đối với các ứng dụng học sâu.
- 18.4.8. Tóm tắt
- 18.4.9. Bài tập 1. Cho một vector cột \(\boldsymbol{\beta}\), tính toán các dẫn xuất của cả \(f(\mathbf{x}) = \boldsymbol{\beta}^\top\mathbf{x}\) và \(g(\mathbf{x}) = \mathbf{x}^\top\boldsymbol{\beta}\). Tại sao bạn nhận được câu trả lời tương tự? 2. Hãy để \(\mathbf{v}\) là một vector kích thước \(n\). \(\frac{\partial}{\partial\mathbf{v}}\|\mathbf{v}\|_2\) là cái gì? 3. Hãy để \(L(x, y) = \log(e^x + e^y)\). Tính toán gradient. Tổng của các thành phần của gradient là gì? 4. Hãy để \(f(x, y) = x^2y + xy^2\). Cho thấy điểm quan trọng duy nhất là \((0,0)\). Bằng cách xem xét \(f(x, x)\), xác định xem \((0,0)\) có phải là tối đa, tối thiểu hay không. Giả sử rằng chúng ta đang giảm thiểu một hàm \(f(\mathbf{x}) = g(\mathbf{x}) + h(\mathbf{x})\). Làm thế nào chúng ta có thể giải thích hình học tình trạng của \(\nabla f = 0\) về \(g\) và \(h\)?
- 18.4.1. Sự khác biệt chiều cao hơn Điều
- 18.5. Integral Calculus
- 18.5.1. Giải thích hình học Giả sử chúng ta có hàm \(f(x)\). Để đơn giản, chúng ta hãy giả định rằng \(f(x)\) là không âm (không bao giờ có giá trị nhỏ hơn 0). Điều chúng ta muốn thử và hiểu là: khu vực chứa giữa \(f(x)\) và trục \(x\)-trục là gì?
- 18.5.2. Định lý cơ bản của giải tích
- 18.5.3. Thay đổi các biến
- 18.5.4. Một bình luận về Sign Conventions
- 18.5.5. Nhiều tích hợp Trong một số trường hợp, chúng ta sẽ cần phải làm việc ở các kích thước cao hơn. Ví dụ, giả sử rằng chúng ta có một hàm của hai biến, như \(f(x, y)\) và chúng ta muốn biết khối lượng dưới \(f\) khi \(x\) phạm vi trên \([a, b]\) và \(y\) phạm vi trên \([c, d]\).
- 18.5.6. Thay đổi biến trong nhiều tích phân Như với các biến đơn trong
eq_change_var
, khả năng thay đổi các biến bên trong tích phân chiều cao hơn là một công cụ quan trọng. Hãy để chúng tôi tóm tắt kết quả mà không có nguồn gốc. - 18.5.7. Tóm tắt
- 18.5.8. Exercises
- 18.6. Biến ngẫu nhiên
- 18.6.1. Biến ngẫu nhiên liên tục
- 18.6.2. Tóm lượng* Biến ngẫu nhiên liên tục là các biến ngẫu nhiên có thể thực hiện một liên tục của các giá trị. Chúng có một số khó khăn kỹ thuật khiến chúng trở nên khó khăn hơn khi làm việc so với các biến ngẫu nhiên rời rạc * Hàm mật độ xác suất cho phép chúng ta làm việc với các biến ngẫu nhiên liên tục bằng cách đưa ra một hàm trong đó khu vực dưới đường cong trên một khoảng thời gian cho xác suất tìm thấy một điểm mẫu trong khoảng thời gian đó* Hàm phân phối tích lũy là xác suất quan sát biến ngẫu nhiên nhỏ hơn một ngưỡng nhất định. Nó có thể cung cấp một quan điểm thay thế hữu ích thống nhất các biến rời rạc và liên tục.* trung bình là giá trị trung bình của một biến ngẫu nhiên. * phương sai là bình phương dự kiến của sự khác biệt giữa biến ngẫu nhiên và trung bình của nó.* Độ lệch chuẩn là căn bậc hai của phương sai. Nó có thể được coi là đo phạm vi các giá trị mà biến ngẫu nhiên có thể mất. * Bất đẳng thức của Chebyshev cho phép chúng ta làm cho trực giác này nghiêm ngặt bằng cách đưa ra một khoảng rõ ràng chứa biến ngẫu nhiên hầu hết thời gian* Mật độ chung cho phép chúng ta làm việc với các biến ngẫu nhiên tương quan. Chúng ta có thể lề mật độ chung bằng cách tích hợp các biến ngẫu nhiên không mong muốn để có được sự phân bố của biến ngẫu nhiên mong muốn* hệ số đồng phương sai và hệ số tương quan cung cấp một cách để đo bất kỳ mối quan hệ tuyến tính nào giữa hai biến ngẫu nhiên tương quan.
- 18.6.3. Exercises
- 18.7. Khả năng tối đa
- 18.7.1. Nguyên tắc khả năng tối đa
- 18.7.2. Tối ưu hóa số và tiêu cực Log-Likelihood
- 18.7.3. Khả năng tối đa cho các biến liên tục
- 18.7.4. Tóm tắt * Nguyên tắc khả năng tối đa cho chúng ta biết rằng mô hình phù hợp nhất cho một tập dữ liệu nhất định là mô hình tạo ra dữ liệu có xác suất cao nhất.* Thường mọi người làm việc với khả năng ghi âm thay vì nhiều lý do: ổn định số, chuyển đổi sản phẩm thành tổng (và kết quả đơn giản hóa tính toán gradient), và mối quan hệ lý thuyết với lý thuyết thông tin * Mặc dù đơn giản nhất để thúc đẩy trong cài đặt rời rạc, nó có thể được tự do khái quát hóa để cài đặt liên tục cũng như bằng cách tối đa hóa mật độ xác suất được gán cho các datapoints.
- 18.7.5. Bài tập 1. Giả sử rằng bạn biết rằng một biến ngẫu nhiên có mật độ \(\frac{1}{\alpha}e^{-\alpha x}\) cho một số giá trị \(\alpha\). Bạn có được một quan sát duy nhất từ biến ngẫu nhiên đó là số \(3\). Ước tính khả năng tối đa cho \(\alpha\) là gì? 2. Giả sử rằng bạn có một tập dữ liệu của các mẫu \(\{x_i\}_{i=1}^N\) rút ra từ một Gaussian với trung bình không xác định, nhưng phương sai \(1\). Ước tính khả năng tối đa cho nghĩa là gì?
- 18.8. Bayes ngây thơ
- 18.8.1. Nhận dạng ký tự quang
- 18.8.2. Mô hình xác suất để phân loại
- 18.8.3. Phân loại Bayes ngây thơ
- 18.8.4. Đào tạo
- 18.8.5. Tóm tắt * Sử dụng quy tắc của Bayes’, một phân loại có thể được thực hiện bằng cách giả sử tất cả các tính năng quan sát là độc lập. * Phân loại này có thể được đào tạo trên một tập dữ liệu bằng cách đếm số lần xuất hiện của các kết hợp của nhãn và giá trị pixel * Phân loại này là tiêu chuẩn vàng trong nhiều thập kỷ cho các tác vụ như thư rác phát hiện.
- 18.8.6. Bài tập 1. Xem xét tập dữ liệu \([[0,0], [0,1], [1,0], [1,1]]\) với các nhãn được đưa ra bởi XOR của hai phần tử \([0,1,1,0]\). Xác suất cho một phân loại ngây thơ Bayes được xây dựng trên bộ dữ liệu này là gì. Nó có phân loại thành công điểm của chúng tôi không? Nếu không, những giả định nào bị vi phạm? 1. Giả sử rằng chúng tôi đã không sử dụng Laplace làm mịn khi ước tính xác suất và một ví dụ dữ liệu đến lúc thử nghiệm trong đó có một giá trị không bao giờ quan sát thấy trong đào tạo. Sản lượng mô hình sẽ là gì? 1. Phân loại Bayes ngây thơ là một ví dụ cụ thể của một mạng Bayesian, trong đó sự phụ thuộc của các biến ngẫu nhiên được mã hóa bằng cấu trúc đồ thị. Trong khi lý thuyết đầy đủ nằm ngoài phạm vi của phần này (xem [Koller.Friedman.2009] để biết chi tiết đầy đủ), giải thích tại sao cho phép phụ thuộc rõ ràng giữa hai biến đầu vào trong mô hình XOR cho phép tạo ra một phân loại thành công.
- 18.9. Thống kê
- 18.10. Lý thuyết thông tin