Computation graph trong Deep learning với Python

Computation graph trong Deep learning với Python

Rate this post

Trong hướng dẫn Deep learning với Python này , chúng tôi sẽ cho bạn biết về Computation graph trong Deep learning. Chúng tôi sẽ chỉ cho bạn cách triển khai các Computation graph đó với Python. Hơn nữa, trong khi triển khai Computation graph Deep learning bằng Python, chúng ta sẽ xem xét động lực học và sự lan truyền xuôi ngược.

Các bài viết liên quan:

Vì vậy, hãy bắt đầu tính toán Đồ thị trong Deep learning với Python .

Computation graph trong Deep learning với Python

Computation graph Deep learning

Trong các lĩnh vực như Tin học và Hiểu ngôn ngữ tự nhiên, việc tính toán qua các biểu đồ luồng dữ liệu thường rất hữu ích. Biểu đồ tính toán là một phần không thể thiếu của Deep learning. Chúng không chỉ giúp chúng tôi đơn giản hóa việc làm việc với các bộ dữ liệu lớn mà chúng còn đơn giản để hiểu. Vì vậy, trong hướng dẫn này, chúng tôi sẽ giới thiệu chúng với bạn và sau đó chỉ cho bạn cách triển khai chúng bằng Python. Đối với điều này, chúng tôi sẽ sử dụng thư viện Dask từ Python PyPI.

Bạn có biết về Thư viện Python không

Computation graph trong Deep learning là gì?

Computation graph là một cách để biểu diễn một hàm toán học bằng ngôn ngữ của lý thuyết đồ thị. Các nút là giá trị đầu vào hoặc chức năng để kết hợp chúng; khi dữ liệu chảy qua biểu đồ này, các cạnh sẽ nhận được trọng số của chúng.

Computation graph trong Deep learning với Python

Vì vậy, chúng tôi đã nói rằng chúng tôi có hai loại nút – nút đầu vào và nút chức năng. Các cạnh đi từ các nút đầu vào mang giá trị đầu vào và các cạnh từ các nút chức năng mang tổng trọng số của các cạnh đến. Biểu đồ trên biểu diễn biểu thức sau:

f (x, y, z) = (x + y) * z

Hãy xem Deep Learning vs Machine Learning

Trong năm nút, ba nút ngoài cùng bên trái là nút đầu vào; hai bên phải là các nút chức năng. Bây giờ nếu chúng ta phải tính f (1,2,3), chúng ta sẽ nhận được Computation graph sau-

Computation graph trong Deep learning với Python

Cần Computation graph

Đây là một Computation graph đơn giản với 5 nút và 5 cạnh. Nhưng các mạng nơ-ron sâu thậm chí còn đơn giản hơn quan sát hàng trăm nghìn nút và cạnh – chẳng hạn, hơn một triệu? Trong trường hợp như vậy, thực tế sẽ không thể tính được một biểu thức hàm cho nó. Sau đó, các Computation graph rất hữu ích.

Các biểu đồ như vậy cũng giúp chúng tôi mô tả sự lan truyền ngược chính xác hơn.

Ví dụ về Computation graph – Hàm tổng hợp

Chúng ta lấy một ví dụ về hàm f (x) = e sin (x ** 2) . Hãy phân tích điều này-

f (x) = ex

g (x) = sin x

h (x) = x2

f (g (h (x))) = ví dụ: (h (x))

Hãy sửa lại Hướng dẫn Học máy Python

Chúng ta có Computation graph sau đây cho điều này-

Computation graph trong Deep learning với Python

Hình dung một Computation graph bằng Python

Bây giờ chúng ta hãy sử dụng thư viện Dask để tạo ra một đồ thị như vậy.

Computation graph trong Deep learning với Python

Computation graph trong Deep learning với Python
Computation graph trong Deep learning với Python

Lưu ý rằng để mã này hoạt động, bạn sẽ cần thực hiện ba tác vụ-

  1. Cài đặt thư viện dask bằng pip:
Computation graph trong Deep learning với Python
  1. Tải xuống và giải nén các gói Windows cho Dask-

https://graphviz.gitlab.io/_pages/Download/Download_windows.html

  1. Thêm dòng mã đầu tiên vào Đường dẫn người dùng của bạn và dòng tiếp theo vào đường dẫn hệ thống của bạn trong các biến môi trường.

Computation graph Python động Deep learning

Các DCG phải đối mặt với các vấn đề về phân phối không hiệu quả và công cụ nghèo nàn. Khi mỗi dữ liệu trong một tập dữ liệu có kiểu hoặc hình dạng của nó, thì việc mạng nơ-ron kết hợp dữ liệu đó với một biểu đồ tĩnh sẽ trở thành một vấn đề. Để giải quyết vấn đề, chúng tôi sử dụng một thuật toán mà chúng tôi gọi là Khớp động.

Nói cách khác, Computation graph Động là một đồ thị có hướng có thể thay đổi với các phép toán là đỉnh và dữ liệu là các cạnh. Trên thực tế, nó là một hệ thống thư viện, giao diện và các thành phần. Những thứ này mang đến một giao diện thời gian chạy linh hoạt, có lập trình, cho phép chúng tôi xây dựng và sửa đổi hệ thống bằng cách kết nối các hoạt động.

Hãy xem phần Thiết lập Môi trường Máy học Python

Chuyển tiếp và lan truyền ngược trong Computation graph

Đầu tiên, hãy nói về sự lan truyền chuyển tiếp. Ở đây, chúng tôi lặp qua các nút theo thứ tự tôpô. Nói cách khác, chúng ta truyền các giá trị của các biến theo hướng thuận (từ trái sang phải). Với đầu vào của một nút, chúng tôi tính toán giá trị của nó.

Tuy nhiên, trong truyền ngược, chúng ta bắt đầu từ một nút mục tiêu cuối cùng và lặp lại các nút theo thứ tự tôpô ngược. Ở đây, chúng tôi tính toán các dẫn xuất của giá trị nút mục tiêu cuối cùng đối với nút đuôi của mỗi cạnh.

Vì vậy, tất cả đều có trong Deep learning về Computation graph với Python. Hy vọng bạn thích giải thích của chúng tôi.

Kết luận: Computation graph

Do đó, chúng tôi tổng hợp các Computation graph để Deep learning với Python. Hơn nữa, chúng ta đã thảo luận về Truyền bá Computation graph và triển khai đồ thị trong Python. Hơn nữa, nếu bạn có bất kỳ câu hỏi nào, hãy hỏi trong hộp nhận xét.

Leave a Reply