
Deep Learning là gì?
Deep learning là một dạng học máy dạy máy tính thực hiện nhiệm vụ bằng cách học từ ví dụ, tương tự như con người. Hãy hình dung dạy máy tính nhận diện mèo: thay vì bảo nó tìm ria, tai và đuôi, bạn cho nó xem hàng nghìn bức ảnh mèo. Máy tính tự tìm ra các mẫu chung và học cách nhận diện mèo. Đó chính là cốt lõi của deep learning.
Về mặt kỹ thuật, deep learning sử dụng cái gọi là "mạng nơ-ron" lấy cảm hứng từ não bộ con người. Các mạng này gồm nhiều tầng các nút liên kết xử lý thông tin. Càng nhiều tầng thì mạng càng "sâu", cho phép học các đặc trưng phức tạp hơn và thực hiện các tác vụ tinh vi hơn.

Sự tương đồng giữa nơ-ron sinh học và mạng nơ-ron
Sự phát triển từ Machine Learning đến Deep Learning
Machine learning là gì?
Machine learning bản thân nó là một phân nhánh của trí tuệ nhân tạo (AI) giúp máy tính học từ dữ liệu và đưa ra quyết định mà không cần lập trình tường minh. Nó bao gồm nhiều kỹ thuật và thuật toán cho phép hệ thống nhận dạng mẫu, đưa ra dự đoán và cải thiện hiệu suất theo thời gian. Bạn có thể khám phá sự khác nhau giữa machine learning và AI trong một bài viết riêng.
Deep learning khác gì so với machine learning truyền thống
Trong khi machine learning đã là một công nghệ mang tính chuyển đổi, deep learning tiến xa hơn bằng cách tự động hóa nhiều tác vụ vốn thường đòi hỏi chuyên môn con người.
Deep learning về bản chất là một phân nhánh chuyên biệt của machine learning, nổi bật với việc sử dụng các mạng nơ-ron có ba tầng trở lên. Những mạng này cố gắng mô phỏng hành vi của não người—dù còn kém xa khả năng của nó—để "học" từ lượng dữ liệu lớn. Bạn có thể tìm hiểu chi tiết hơn về machine learning và deep learning trong một bài viết khác.
Tầm quan trọng của feature engineering
Feature engineering là quá trình chọn lọc, biến đổi hoặc tạo ra các biến quan trọng nhất, gọi là "đặc trưng" (features), từ dữ liệu thô để dùng trong các mô hình học máy.
Ví dụ, nếu bạn xây dựng mô hình dự báo thời tiết, dữ liệu thô có thể gồm nhiệt độ, độ ẩm, tốc độ gió và áp suất khí quyển. Feature engineering sẽ xác định biến nào quan trọng nhất cho dự báo và có thể biến đổi chúng (ví dụ chuyển nhiệt độ từ Fahrenheit sang Celsius) để hữu ích hơn cho mô hình.
Trong machine learning truyền thống, feature engineering thường là quy trình thủ công, tốn thời gian và đòi hỏi hiểu biết miền. Tuy nhiên, một ưu điểm của deep learning là có thể tự động học các đặc trưng liên quan từ dữ liệu thô, giảm nhu cầu can thiệp thủ công.
Vì sao Deep Learning quan trọng?
Lý do khiến deep learning trở thành tiêu chuẩn của ngành:
- Xử lý dữ liệu phi cấu trúc: Các mô hình được huấn luyện trên dữ liệu có cấu trúc có thể dễ dàng học từ dữ liệu phi cấu trúc, giúp giảm thời gian và nguồn lực cho việc chuẩn hóa bộ dữ liệu.
- Xử lý dữ liệu lớn: Nhờ sự xuất hiện của GPU, các mô hình deep learning có thể xử lý lượng dữ liệu khổng lồ với tốc độ rất cao.
- Độ chính xác cao: Mô hình deep learning cho kết quả chính xác nhất trong thị giác máy tính, xử lý ngôn ngữ tự nhiên (NLP) và xử lý âm thanh.
- Nhận dạng mẫu: Hầu hết mô hình cần kỹ sư ML can thiệp, nhưng mô hình deep learning có thể tự động phát hiện mọi kiểu mẫu.
Trong hướng dẫn này, chúng ta sẽ khám phá thế giới deep learning và tìm hiểu mọi khái niệm cốt lõi để bạn bắt đầu sự nghiệp trong lĩnh vực trí tuệ nhân tạo (AI). Nếu bạn muốn học kèm bài tập thực hành, hãy xem khóa học Giới thiệu về Deep Learning bằng Python.
Các khái niệm cốt lõi của Deep Learning
Trước khi đi sâu vào chi tiết thuật toán deep learning và các ứng dụng của chúng, điều quan trọng là hiểu những khái niệm nền tảng làm nên tính cách mạng của công nghệ này. Phần này sẽ giới thiệu những viên gạch xây nền của deep learning: mạng nơ-ron, mạng nơ-ron sâu và hàm kích hoạt.
Mạng nơ-ron
Trung tâm của deep learning là các mạng nơ-ron, những mô hình tính toán lấy cảm hứng từ não bộ con người. Các mạng này gồm những nút kết nối với nhau, hay "nơ-ron", phối hợp xử lý thông tin và đưa ra quyết định. Giống như não có các vùng đảm nhiệm các tác vụ khác nhau, mạng nơ-ron có các tầng được chỉ định cho những chức năng cụ thể.
Chúng tôi có hướng dẫn đầy đủ Mạng nơ-ron là gì, trình bày chi tiết hơn về các nội dung thiết yếu.
Mạng nơ-ron sâu
Điều làm một mạng nơ-ron trở nên "sâu" là số lượng tầng giữa đầu vào và đầu ra. Mạng nơ-ron sâu có nhiều tầng, cho phép học các đặc trưng phức tạp hơn và dự đoán chính xác hơn. "Độ sâu" của các mạng này chính là nguồn gốc tên gọi deep learning và sức mạnh giải quyết các bài toán tinh vi.
Hướng dẫn giới thiệu về mạng nơ-ron sâu của chúng tôi trình bày tầm quan trọng của DNN trong deep learning và trí tuệ nhân tạo.
Hàm kích hoạt
Trong mạng nơ-ron, hàm kích hoạt giống như người ra quyết định. Chúng xác định thông tin nào sẽ được truyền sang tầng tiếp theo. Các hàm này bổ sung mức độ phức tạp, cho phép mạng học từ dữ liệu và đưa ra quyết định tinh tế.
Deep Learning hoạt động như thế nào
Deep learning sử dụng trích xuất đặc trưng để nhận diện các đặc trưng tương đồng của cùng một nhãn, rồi dùng ranh giới quyết định để xác định đặc trưng nào đại diện chính xác cho mỗi nhãn. Trong bài toán phân loại mèo và chó, các mô hình deep learning sẽ trích xuất thông tin như mắt, khuôn mặt và hình dạng cơ thể của động vật và chia chúng thành hai lớp.
Mô hình deep learning bao gồm các mạng nơ-ron sâu. Mạng nơ-ron đơn giản gồm tầng đầu vào, tầng ẩn và tầng đầu ra. Mô hình deep learning gồm nhiều tầng ẩn; khi bổ sung các tầng, độ chính xác của mô hình được cải thiện.
Mạng nơ-ron đơn giản
Các tầng đầu vào chứa dữ liệu thô và chuyển dữ liệu đến các nút của tầng ẩn. Các nút của tầng ẩn phân loại các điểm dữ liệu dựa trên thông tin mục tiêu tổng quát, và qua mỗi tầng tiếp theo, phạm vi của giá trị mục tiêu được thu hẹp để tạo ra giả định chính xác. Tầng đầu ra sử dụng thông tin từ các tầng ẩn để chọn nhãn có khả năng cao nhất. Trong ví dụ của chúng ta, là dự đoán chính xác ảnh con chó thay vì con mèo.
Trí tuệ nhân tạo so với Deep Learning
Hãy trả lời một trong những câu hỏi thường gặp nhất trên internet: "Deep learning có phải là trí tuệ nhân tạo không?". Câu trả lời ngắn gọn là có. Deep learning là một phân nhánh của machine learning, và machine learning là một phân nhánh của AI.
AI vs. ML vs. DL
Trí tuệ nhân tạo là khái niệm về việc có thể xây dựng các cỗ máy thông minh mô phỏng hành vi con người hoặc vượt qua trí tuệ con người. AI sử dụng các phương pháp machine learning và deep learning để hoàn thành các tác vụ của con người. Nói ngắn gọn, AI bao gồm deep learning vì đây là nhóm thuật toán tiên tiến nhất có khả năng đưa ra quyết định thông minh.
Deep Learning được dùng để làm gì?
Gần đây, thế giới công nghệ chứng kiến sự bùng nổ các ứng dụng AI, và tất cả đều được vận hành bởi các mô hình deep learning. Ứng dụng trải rộng từ đề xuất phim trên Netflix đến hệ thống quản lý kho của Amazon.
Trong phần này, chúng ta sẽ tìm hiểu một số ứng dụng nổi tiếng nhất được xây dựng bằng deep learning. Điều này sẽ giúp bạn nhận thấy toàn bộ tiềm năng của các mạng nơ-ron sâu.
Thị giác máy tính
Thị giác máy tính (CV) được sử dụng trong xe tự lái để phát hiện vật thể và tránh va chạm. Nó cũng được dùng cho nhận diện khuôn mặt, ước lượng dáng người, phân loại ảnh và phát hiện bất thường.
Nhận diện khuôn mặt
Nhận dạng giọng nói tự động
Nhận dạng giọng nói tự động (ASR) được hàng tỷ người trên thế giới sử dụng. Nó có trong điện thoại của chúng ta và thường kích hoạt bằng câu "Hey, Google" hoặc "Hi, Siri". Các ứng dụng âm thanh như vậy cũng được dùng cho chuyển văn bản thành giọng nói, phân loại âm thanh và phát hiện hoạt động giọng nói.
Nhận dạng mẫu giọng nói
AI sinh tạo
AI sinh tạo đã chứng kiến nhu cầu tăng vọt khi một NFT CryptoPunk vừa được bán với giá 1 triệu đô la. CryptoPunk là một bộ sưu tập nghệ thuật sinh tạo được tạo ra bằng các mô hình deep learning. Việc ra mắt mô hình GPT-4 của OpenAI đã cách mạng hóa lĩnh vực tạo văn bản với công cụ ChatGPT mạnh mẽ; giờ đây, bạn có thể dạy mô hình viết cả một cuốn tiểu thuyết hoặc thậm chí viết mã cho các dự án khoa học dữ liệu của bạn.
Nghệ thuật sinh tạo
Dịch
Dịch bằng deep learning không chỉ giới hạn ở dịch ngôn ngữ, vì hiện nay chúng ta có thể chuyển ảnh thành văn bản bằng OCR, hoặc chuyển văn bản thành hình ảnh bằng NVIDIA GauGAN2 .
Dịch ngôn ngữ
Dự báo chuỗi thời gian
Dự báo chuỗi thời gian được dùng để dự đoán sụp đổ thị trường, giá cổ phiếu và biến đổi thời tiết. Ngành tài chính sống nhờ suy đoán và dự báo tương lai. Deep learning và các mô hình chuỗi thời gian giỏi hơn con người trong việc phát hiện mẫu nên là công cụ then chốt trong lĩnh vực này và các ngành tương tự.
Dự báo chuỗi thời gian
Tự động hóa
Deep learning được dùng để tự động hóa tác vụ, ví dụ huấn luyện robot cho quản lý kho. Ứng dụng phổ biến nhất là chơi trò chơi điện tử và ngày càng giỏi trong việc giải câu đố. Gần đây, Dota AI của OpenAI đã đánh bại đội tuyển chuyên nghiệp OG, gây chấn động thế giới khi không ai nghĩ cả năm bot có thể vượt mặt nhà vô địch thế giới.
Cánh tay robot vận hành bằng học tăng cường
Phản hồi khách hàng
Deep learning được dùng để xử lý phản hồi và khiếu nại của khách hàng. Nó hiện diện trong mọi ứng dụng chatbot để cung cấp dịch vụ khách hàng liền mạch.
Phản hồi của khách hàng
Y sinh học
Lĩnh vực này hưởng lợi nhiều nhất với sự xuất hiện của deep learning. DL được sử dụng trong y sinh để phát hiện ung thư, xây dựng dược phẩm ổn định, phát hiện bất thường trên X-quang ngực và hỗ trợ thiết bị y tế.
Phân tích chuỗi DNA
Các mô hình Deep Learning
Hãy tìm hiểu về các loại mô hình deep learning khác nhau và cách chúng hoạt động.
Học có giám sát
Học có giám sát sử dụng bộ dữ liệu gán nhãn để huấn luyện mô hình phân loại dữ liệu hoặc dự đoán giá trị. Bộ dữ liệu chứa các đặc trưng và nhãn mục tiêu, cho phép thuật toán học theo thời gian bằng cách tối thiểu hóa sai số giữa nhãn dự đoán và nhãn thực. Học có giám sát có thể chia thành bài toán phân loại và hồi quy.
Phân loại
Thuật toán phân loại chia bộ dữ liệu vào các nhóm khác nhau dựa trên trích xuất đặc trưng. Những mô hình deep learning phổ biến là ResNet50 cho phân loại ảnh và BERT (mô hình ngôn ngữ)) cho phân loại văn bản.
Phân loại
Hồi quy
Thay vì chia bộ dữ liệu vào các nhóm, mô hình hồi quy học mối quan hệ giữa biến đầu vào và đầu ra để dự đoán kết quả. Mô hình hồi quy thường dùng cho phân tích dự đoán, dự báo thời tiết và dự đoán hiệu suất thị trường chứng khoán. LSTM và RNN là các mô hình hồi quy deep learning phổ biến.
Hồi quy tuyến tính
Học không giám sát
Học không giám sát học các mẫu trong bộ dữ liệu không gán nhãn và tạo các cụm. Mô hình deep learning có thể học các mẫu ẩn mà không cần can thiệp của con người và thường được sử dụng trong hệ thống gợi ý.
Học không giám sát được dùng để nhóm các loài khác nhau, chụp ảnh y khoa và nghiên cứu thị trường. Mô hình deep learning phổ biến nhất cho phân cụm là thuật toán phân cụm nhúng sâu.
Phân cụm dữ liệu
Học tăng cường
Học tăng cường (RL) là phương pháp học máy trong đó tác tử học các hành vi khác nhau từ môi trường. Tác tử thực hiện các hành động ngẫu nhiên và nhận thưởng. Tác tử học đạt mục tiêu bằng thử và sai trong môi trường phức tạp mà không cần con người can thiệp.
Giống như em bé nhận sự khích lệ từ cha mẹ để học đi, AI học thực hiện các tác vụ nhất định bằng cách tối đa hóa phần thưởng, và nhà thiết kế đặt chính sách thưởng. Gần đây, RL có nhu cầu cao trong tự động hóa nhờ tiến bộ trong robot, xe tự lái, đánh bại tuyển thủ chuyên nghiệp trong trò chơi và hạ cánh tên lửa trở lại Trái Đất.
Khung học tăng cường
Lấy ví dụ trò chơi Mario:
- Ban đầu, tác tử (nhân vật Mario) nhận trạng thái bằng không từ môi trường.
- Dựa trên trạng thái, tác tử sẽ thực hiện một hành động, trong trường hợp này Mario di chuyển sang phải.
- Giờ trạng thái thay đổi và nhân vật ở khung hình mới.
- Tác tử nhận một phần thưởng, vì khi di chuyển sang phải nhân vật không chết. Mục tiêu chính của chúng ta là tối đa hóa phần thưởng.
Tác tử sẽ tiếp tục vòng lặp hành động và tối đa hóa phần thưởng cho đến khi hoàn thành màn chơi hoặc chết. Tìm hiểu thêm tại Giới thiệu về Học tăng cường.
Mạng đối sinh (GAN)
Mạng đối sinh (GAN) sử dụng hai mạng nơ-ron và cùng nhau tạo ra các mẫu tổng hợp của dữ liệu gốc. GAN đã trở nên rất phổ biến những năm gần đây vì có thể bắt chước một số họa sĩ vĩ đại để tạo nên kiệt tác. Chúng được dùng rộng rãi để tạo nghệ thuật, video, âm nhạc và văn bản tổng hợp. Tìm hiểu thêm về ứng dụng thực tế tại Hướng dẫn Mạng đối sinh.
Khung Mạng đối sinh
GAN hoạt động thế nào trong tạo ảnh tổng hợp:
- Đầu tiên, mạng sinh nhận đầu vào là nhiễu ngẫu nhiên và tạo ảnh giả.
- Ảnh sinh ra và ảnh thật được đưa vào bộ phân biệt.
- Bộ phân biệt quyết định ảnh sinh ra là thật hay giả. Nó trả về xác suất từ 0 đến 1, trong đó 0 là ảnh giả và 1 là ảnh thật. Kiến trúc GAN chứa hai vòng phản hồi. Bộ phân biệt ở vòng phản hồi với ảnh thật, còn bộ sinh ở vòng phản hồi với bộ phân biệt. Chúng hoạt động đồng bộ để tạo ra ảnh chân thực hơn.
Mạng nơ-ron đồ thị
Đồ thị là một cấu trúc dữ liệu gồm cạnh và đỉnh. Cạnh có thể có hướng nếu tồn tại quan hệ phụ thuộc có hướng giữa các đỉnh (nút), còn gọi là đồ thị có hướng. Các vòng tròn màu xanh lá trong sơ đồ dưới là các nút, và các mũi tên đại diện cho các cạnh.

Đồ thị có hướng
Mạng nơ-ron đồ thị (GNN) là một dạng kiến trúc deep learning hoạt động trực tiếp trên cấu trúc đồ thị. GNN được ứng dụng trong phân tích bộ dữ liệu lớn, hệ thống gợi ý và thị giác máy tính.
Mạng đồ thị
Chúng cũng được dùng cho phân loại nút, dự đoán liên kết và phân cụm. Trong một số trường hợp, mạng nơ-ron đồ thị còn cho hiệu suất tốt hơn mạng nơ-ron tích chập, ví dụ khi nhận dạng vật thể và dự đoán quan hệ ngữ nghĩa.
Xử lý ngôn ngữ tự nhiên
Xử lý ngôn ngữ tự nhiên (NLP) sử dụng công nghệ deep learning để giúp máy tính học ngôn ngữ tự nhiên của con người. NLP dùng deep learning để đọc, giải mã và hiểu ngôn ngữ con người. Nó được dùng rộng rãi để xử lý lời nói, văn bản và hình ảnh. Sự xuất hiện của học chuyển giao đã đưa NLP lên tầm cao mới khi chúng ta có thể tinh chỉnh mô hình với vài mẫu và đạt hiệu năng hàng đầu.
Các phân nhánh của NLP
NLP có thể chia thành nhiều lĩnh vực:
- Dịch: dịch ngôn ngữ, cấu trúc phân tử và phương trình toán học
- Tóm tắt: tóm tắt các đoạn văn bản lớn thành vài dòng nhưng vẫn giữ thông tin chính.
- Phân loại: chia văn bản vào các nhóm khác nhau.
- Sinh: sinh văn bản từ văn bản; có thể tạo cả một bài luận từ một dòng văn.
- Hội thoại: trợ lý ảo, lưu giữ kiến thức hội thoại trước và mô phỏng trò chuyện như người.
- Trả lời câu hỏi: AI trả lời câu hỏi bằng dữ liệu Hỏi & Đáp.
- Trích xuất đặc trưng: phát hiện mẫu trong văn bản hoặc trích xuất thông tin như "nhận dạng thực thể có tên" và "thành phần từ loại".
- Độ tương đồng câu: đánh giá sự tương đồng giữa các văn bản.
- Chuyển văn bản thành giọng nói: chuyển văn bản thành âm thanh.
- Nhận dạng giọng nói tự động: hiểu các âm thanh khác nhau và chuyển chúng thành văn bản.
- Nhận dạng ký tự quang học: trích xuất dữ liệu văn bản từ hình ảnh.
Nếu bạn muốn thử các ứng dụng NLP khác nhau, hãy dùng thử Hugging Face Spaces. Spaces lưu trữ đủ loại ứng dụng web để bạn trải nghiệm và lấy cảm hứng cho dự án NLP của mình.
Nhìn sâu hơn vào các khái niệm Deep Learning
Hàm kích hoạt
Trong mạng nơ-ron, hàm kích hoạt tạo ra các ranh giới quyết định đầu ra và được dùng để cải thiện hiệu suất mô hình. Hàm kích hoạt là một biểu thức toán học quyết định liệu đầu vào có được truyền qua nơ-ron hay không dựa trên mức độ quan trọng của nó. Nó cũng cung cấp tính phi tuyến cho mạng. Nếu không có hàm kích hoạt, mạng nơ-ron trở thành mô hình hồi quy tuyến tính đơn giản.
Có một số loại hàm kích hoạt:
- Tanh
- ReLU
- Sigmoid
- Linear
- Softmax
- Swish
Hàm kích hoạt
Những hàm này tạo ra các ranh giới đầu ra khác nhau, như trong hình trên. Với nhiều tầng và các hàm kích hoạt, bạn có thể giải mọi bài toán phức tạp. Tìm hiểu thêm về hàm kích hoạt trong deep learning là gì?
Hàm mất mát
Hàm mất mát là chênh lệch giữa giá trị thực và giá trị dự đoán. Nó cho phép mạng nơ-ron theo dõi hiệu suất tổng thể của mô hình. Tùy vào bài toán cụ thể, chúng ta chọn một loại hàm nhất định, ví dụ mse (mean squared error).
Loss = Sum (Predicted - Actual)²
Các hàm mất mát được dùng nhiều nhất trong deep learning:
- Binary cross-entropy
- Categorical hinge
- Mean squared error
- Huber
- Sparse categorical cross-entropy
Lan truyền ngược
Trong lan truyền xuôi, chúng ta khởi tạo mạng nơ-ron với đầu vào ngẫu nhiên để tạo ra đầu ra cũng ngẫu nhiên. Để mô hình hoạt động tốt hơn, chúng ta điều chỉnh trọng số một cách có chủ đích bằng lan truyền ngược. Để theo dõi hiệu suất mô hình, ta cần một hàm mất mát giúp tìm cực tiểu toàn cục nhằm tối đa hóa độ chính xác.
Hạ dốc ngẫu nhiên
Hạ dốc được dùng để tối ưu hàm mất mát bằng cách thay đổi trọng số có kiểm soát để đạt mất mát tối thiểu. Giờ ta có mục tiêu, nhưng cần hướng đi xem nên tăng hay giảm trọng số để cải thiện hiệu suất. Đạo hàm của hàm mất mát sẽ cho ta phương hướng và có thể dùng nó để cập nhật trọng số của mạng.
Hạ dốc
Phương trình dưới đây cho thấy cách cập nhật trọng số bằng hạ dốc.
w = w -Jw
Trong hạ dốc ngẫu nhiên, các mẫu được chia thành lô thay vì dùng toàn bộ dữ liệu để tối ưu quá trình hạ dốc. Điều này hữu ích nếu bạn muốn đạt mất mát tối thiểu nhanh hơn và tối ưu tài nguyên tính toán.
Siêu tham số
Siêu tham số là các tham số có thể tinh chỉnh trước khi chạy quá trình huấn luyện. Chúng ảnh hưởng trực tiếp đến hiệu suất mô hình và giúp bạn đạt cực tiểu toàn cục nhanh hơn.
Danh sách các siêu tham số được dùng nhiều:
- Tốc độ học: kích thước bước của mỗi vòng lặp, có thể đặt từ 0,1 đến 0,0001. Nói ngắn gọn, nó quyết định tốc độ mô hình học.
- Kích thước lô: số mẫu đi qua mạng nơ-ron tại một thời điểm.
- Số epoch: số lần mô hình thay đổi trọng số. Quá nhiều epoch có thể gây quá khớp và quá ít có thể gây thiếu khớp, nên chúng ta cần chọn con số vừa phải.
Tìm hiểu thêm cách các thành phần này phối hợp với nhau qua Keras Tutorial: Deep Learning in Python.
Thuật toán phổ biến
Mạng nơ-ron tích chập
Mạng nơ-ron tích chập (CNN) là một mạng nơ-ron truyền thẳng có khả năng xử lý mảng dữ liệu có cấu trúc. Nó được dùng rộng rãi trong các ứng dụng thị giác máy tính như phân loại ảnh.
Kiến trúc mạng nơ-ron tích chập
CNN giỏi nhận dạng mẫu, đường nét và hình dạng. CNN gồm tầng tích chập, tầng gộp và tầng đầu ra (các tầng kết nối đầy đủ). Mô hình phân loại ảnh thường chứa nhiều tầng tích chập tiếp theo là các tầng gộp, vì các tầng bổ sung giúp tăng độ chính xác của mô hình. Tìm hiểu thêm về các tầng tích chập tại đây: Convolutional Neural Networks in Python.
Mạng nơ-ron hồi quy
Mạng nơ-ron hồi quy (RNN) khác với mạng truyền thẳng ở chỗ đầu ra của tầng được đưa ngược lại làm đầu vào để dự đoán đầu ra của chính tầng đó. Điều này giúp nó hoạt động tốt hơn với dữ liệu tuần tự vì có thể lưu thông tin của các mẫu trước để dự đoán mẫu tương lai. Tìm hiểu thêm tại Recurrent Neural Network (RNN) Tutorial: Types & Examples.
Kiến trúc mạng nơ-ron hồi quy
Trong mạng nơ-ron truyền thống, đầu ra của các tầng được tính dựa trên giá trị đầu vào hiện tại, nhưng ở RNN, đầu ra còn được tính dựa trên các đầu vào trước đó. Điều này khiến nó khá tốt trong việc dự đoán từ tiếp theo, dự báo giá cổ phiếu, chatbot AI và phát hiện bất thường.
Mạng bộ nhớ dài-ngắn hạn
Mạng bộ nhớ dài-ngắn hạn (LSTM) là dạng nâng cao của mạng nơ-ron hồi quy, có thể giữ lại nhiều thông tin hơn về các giá trị trong quá khứ. Nó giải quyết bài toán tiêu biến gradient tồn tại ở RNN đơn giản.
Kiến trúc LSTM
RNN điển hình gồm các mạng nơ-ron lặp với một tầng tanh, trong khi LSTM gồm bốn tầng tương tác trao đổi với nhau để xử lý các chuỗi dữ liệu dài.
Bạn có thể thực hành với Hướng dẫn: LSTM dự đoán cổ phiếu hoặc khóa học deep learning nâng cao với Keras nếu muốn học thêm về các mô hình deep learning.
Các framework Deep Learning
Có nhiều framework deep learning như MxNet, CNTK và Caffe2, nhưng chúng ta sẽ tìm hiểu về các framework phổ biến nhất.
Tensorflow
Tensorflow (TF) là thư viện mã nguồn mở dùng để tạo ứng dụng deep learning. Nó bao gồm mọi công cụ cần thiết để bạn thử nghiệm và phát triển sản phẩm AI thương mại. TF hỗ trợ cả CPU, GPU và TPU để huấn luyện các mô hình phức tạp. TF ban đầu do đội Google AI phát triển cho nội bộ và hiện đã công khai.
API của Tensorflow khả dụng cho ứng dụng trên trình duyệt, thiết bị di động, và TensorFlow Extended phù hợp cho môi trường sản xuất. TF nay đã trở thành tiêu chuẩn ngành, được dùng cho cả nghiên cứu học thuật và triển khai mô hình deep learning vào sản xuất.
TF cũng đi kèm Tensorboard, một bảng điều khiển có khả năng phân tích các thí nghiệm học máy của bạn. Gần đây, các nhà phát triển Tensorflow đã tích hợp Keras vào khung của mình, vốn nổi tiếng trong phát triển mạng nơ-ron sâu. Tìm hiểu thêm tại Khóa học Giới thiệu TensorFlow bằng Python.
Keras
Keras là framework mạng nơ-ron viết bằng Python và có thể chạy trên nhiều nền tảng như Tensorflow và Theano. Keras là thư viện mã nguồn mở được phát triển để cho phép thử nghiệm nhanh trong deep learning, giúp bạn dễ dàng biến ý tưởng thành ứng dụng AI hoạt động.
Tài liệu khá dễ hiểu và API tương tự Numpy, cho phép bạn dễ dàng tích hợp với bất kỳ dự án khoa học dữ liệu nào. Giống TF, Keras cũng có thể chạy trên CPU, GPU và TPU tùy phần cứng. Tìm hiểu thêm tại Giới thiệu Deep Learning với Keras.
PyTorch
PyTorch là framework deep learning phổ biến và dễ dùng nhất. Nó sử dụng tensor thay cho mảng Numpy để thực hiện tính toán số học nhanh nhờ GPU. PyTorch chủ yếu dùng cho deep learning và phát triển các mô hình học máy phức tạp.
Giới nghiên cứu học thuật ưa chuộng PyTorch vì tính linh hoạt và dễ sử dụng. Nó được viết bằng C++ và Python, đồng thời hỗ trợ tăng tốc bằng GPU và TPU. PyTorch đã trở thành giải pháp một điểm đến cho mọi bài toán deep learning. Nếu bạn muốn học thêm về PyTorch, hãy học khóa Giới thiệu Deep Learning với PyTorch.
Kết luận
Trong hướng dẫn này, chúng ta đã tìm hiểu deep learning là gì, một số kiến thức cơ bản, cách hoạt động và các ứng dụng của nó. Chúng ta cũng đã học cách các mạng nơ-ron sâu vận hành và các loại mô hình deep learning khác nhau. Cuối cùng, bạn được giới thiệu một số framework deep learning phổ biến.
Hướng dẫn này cung cấp cho bạn mọi thông tin then chốt cần thiết để bắt đầu trong lĩnh vực deep learning. Để học sâu hơn, Lộ trình Deep Learning bằng Python sẽ giúp bạn sẵn sàng làm các dự án thực tế. Bạn cũng có thể xem deep learning với Keras trong R nếu bạn quen dùng ngôn ngữ R.
Là một nhà khoa học dữ liệu được chứng nhận, tôi đam mê tận dụng công nghệ tiên tiến để tạo ra các ứng dụng học máy đổi mới. Với nền tảng vững chắc về nhận dạng giọng nói, phân tích và báo cáo dữ liệu, MLOps, AI hội thoại và NLP, tôi đã rèn giũa kỹ năng phát triển các hệ thống thông minh có thể tạo ra tác động thực sự. Bên cạnh chuyên môn kỹ thuật, tôi cũng là một người truyền đạt tốt, có khả năng chắt lọc các khái niệm phức tạp thành ngôn ngữ rõ ràng, súc tích. Nhờ đó, tôi trở thành một blogger được nhiều người quan tâm trong lĩnh vực khoa học dữ liệu, chia sẻ góc nhìn và kinh nghiệm với cộng đồng các chuyên gia dữ liệu ngày càng lớn. Hiện tại, tôi tập trung vào sáng tạo và biên tập nội dung, làm việc với các mô hình ngôn ngữ lớn để phát triển nội dung mạnh mẽ và hấp dẫn, giúp doanh nghiệp và cá nhân tận dụng tối đa dữ liệu của mình.
