- Bài 1: Giới thiệu về Machine Learning
- Bài 2: Machine Learning - AI ngày nay có thể làm gì?
- Bài 3: Machine Learning - AI truyền thống
- Bài 4: Machine Learning - Machine Learning là gì?
- Bài 5: Machine Learning - Phân loại
- Bài 6: Machine Learning - Phân loại (p2)
- Bài 7: Machine Learning - Supervised Learning
- Bài 8: Machine Learning - Thư viện Scikit learn
- Bài 9: Machine Learning - Unsupervised learning
- Bài 10: Machine Learning - Artificial Neural Networks
- Bài 11: Machine Learning - Deep Learning
- Bài 12: Machine Learning - Skills
- Bài 13: Machine Learning - Implementing
- Bài 14: Khởi đầu với neural network
- Bài 15: Xử lý ảnh sử dụng Neural Network
- Bài 16: Mạng neuron tích chập
- Bài 17: Machine Learning - Kết luận
- Bài 18: Rút gọn : Phần 1
- Bài 19: Rút gọn - phần 2
- Bài 20: Rút gọn - phần 3
Bài 19: Rút gọn - phần 2 - AI - Machine Learning cơ bản
Đăng bởi: Admin | Lượt xem: 2109 | Chuyên mục: Machine Learning
Bài 7: Machine Learning - Supervised Learning - AI - Machine Learning cơ bản
Học có giám sát là một trong những mô hình học tập quan trọng liên quan đến việc traing cho máy.Ta sẽ cùng tìm hiểu chi tiết trong bài này.
1. Thuật toán học có giám sát :
Có một số thuật toán có sẵn để học có giám sát. Một số thuật toán được sử dụng rộng rãi của học có giám sát như sau:
- k-Nearest Neighbours
- Decision Trees
- Naive Bayes
- Logistic Regression
- Support Vector Machines
2. k-Nearest Neighbours :
k-Nearest Neighbours - gọi đơn giản là mô hình kNN , một kỹ thuật thống kê có thể được sử dụng để giải các bài toán phân loại và hồi quy. Ta hãy thảo luận về trường hợp phân loại một đối tượng không xác định bằng kNN. Xem xét sự phân bố của các đối tượng như trong hình dưới đây
Sơ đồ cho thấy ba loại đối tượng, được đánh dấu bằng các màu đỏ, xanh lam và xanh lục. Khi bạn chạy trình phân loại kNN trên tập dữ liệu trên, ranh giới cho từng loại đối tượng sẽ được đánh dấu như hình dưới đây:
Bây giờ, hãy xem xét một đối tượng mới chưa biết mà bạn muốn phân loại là đỏ, lục hoặc lam. Điều này được mô tả trong hình bên dưới.
Như trên hình, điểm dữ liệu không xác định thuộc về một lớp các đối tượng màu xanh lam. Về mặt toán học, điều này có thể được kết luận bằng cách đo khoảng cách của điểm chưa biết này với mọi điểm khác trong tập dữ liệu. Khi làm như vậy, bạn sẽ biết rằng hầu hết các lân cận của nó có màu xanh lam. Khoảng cách trung bình đến các đối tượng màu đỏ và xanh lá cây chắc chắn sẽ nhiều hơn khoảng cách trung bình đến các đối tượng màu xanh lam. Do đó, vật thể không xác định này có thể được phân loại là thuộc lớp màu xanh lam.Thuật toán kNN cũng có thể được sử dụng cho các bài toán hồi quy. Thuật toán kNN có sẵn để sử dụng trong hầu hết các thư viện ML.
3. Decision Trees :
Dưới đây là một cây quyết định đơn giản ở định dạng lưu đồ:
Bạn sẽ tiến hành viết code dể phận loại dữ liệu input dựa vào lưu đồ ở trên. Trong trường hợp trên, ta đang cố gắng phân loại một email đến để quyết định thời điểm đọc nó.Trên thực tế, các cây quyết định có thể lớn và phức tạp. Có một số thuật toán có sẵn để tạo và duyệt những cây này. Là một người đam mê Machine Learning, bạn cần hiểu và nắm vững các kỹ thuật tạo và duyệt decision trees.
4. Naive Bayes
Naive Bayes được sử dụng để tạo bộ phân loại. Giả sử bạn muốn phân loại các loại trái cây từ một giỏ trái cây. Bạn có thể sử dụng các đặc điểm như màu sắc, kích thước và hình dạng của trái cây, Ví dụ: bất kỳ trái cây nào có màu đỏ, hình tròn và đường kính khoảng 10 cm đều có thể được coi là Apple. Vì vậy, để đào tạo mô hình, bạn sẽ sử dụng các tính năng này và kiểm tra xác suất để một tính năng nhất định phù hợp với các ràng buộc mong muốn. Xác suất của các tính năng khác nhau sau đó được kết hợp để đi đến xác suất một loại trái cây nhất định là Apple. Naive Bayes thường yêu cầu một số lượng nhỏ dữ liệu huấn luyện để phân loại.
5. Logistic Regression
Hình dưới đây sẽ chỉ rõ sự phân bố điểm dữ liệu XY :
Từ sơ đồ, chúng ta có thể kiểm tra trực quan sự tách biệt của các chấm đỏ khỏi các chấm xanh. Bạn có thể vẽ một đường ranh giới để tách các chấm này ra. Bây giờ, để phân loại một điểm dữ liệu mới, bạn sẽ chỉ cần xác định điểm đó nằm ở phía nào của đường thẳng.
6. Support Vector Machines
Nhìn vào sự phân bố dữ liệu sau đây. Ở đây ba lớp dữ liệu không thể được phân tách một cách tuyến tính. Các đường cong biên là phi tuyến tính. Trong trường hợp như vậy, việc tìm phương trình của đường cong trở thành một công việc phức tạp.Support Vector Machines (SVM) rất hữu ích trong việc xác định ranh giới ngăn cách trong những tình huống như vậy.
Bài 8: Machine Learning - Thư viện Scikit learn - AI - Machine Learning cơ bản
1. Scikit-learn là gì?
Nếu bạn đang sử dụng Python và đang muốn tìm một thư viện mạnh mẽ mà bạn có thể mang các thuật toán học máy (machine learning) vào trong một hệ thống thì không còn thư viện nào thích hợp hơn scikit-learn. Thư viện này tích hợp rất nhiều thuật toán hiện đại và cố điển giúp bạn vừa học vừa tiến hành đưa ra các giải pháp hữu ích cho bài toán của bạn một cách đơn giản.Scikit-learn (Sklearn) là thư viện mạnh mẽ nhất dành cho các thuật toán học máy được viết trên ngôn ngữ Python. Thư viện cung cấp một tập các công cụ xử lý các bài toán machine learning và statistical modeling gồm: classification, regression, clustering, và dimensionality reduction.Thư viện được cấp phép bản quyền chuẩn FreeBSD và chạy được trên nhiều nền tảng Linux. Scikit-learn được sử dụng như một tài liệu để học tập.Để cài đặt scikit-learn trước tiên phải cài thư viện SciPy (Scientific Python). Những thành phần gồm:
- Numpy: Gói thư viện xử lý dãy số và ma trận nhiều chiều
- SciPy: Gói các hàm tính toán logic khoa học
- Matplotlib: Biểu diễn dữ liệu dưới dạng đồ thị 2 chiều, 3 chiều
- IPython: Notebook dùng để tương tác trực quan với Python
- SymPy: Gói thư viện các kí tự toán học
- Pandas: Xử lý, phân tích dữ liệu dưới dạng bảng
Những thư viện mở rộng của SciPy thường được đặt tên dạng SciKits. Như thư viện này là gói các lớp, hàm sử dụng trong thuật toán học máy thì được đặt tên là scikit-learn.Scikit-learn hỗ trợ mạnh mẽ trong việc xây dựng các sản phẩm. Nghĩa là thư viện này tập trung sâu trong việc xây dựng các yếu tố: dễ sử dụng, dễ code, dễ tham khảo, dễ làm việc, hiệu quả cao.Mặc dù được viết cho Python nhưng thực ra các thư viện nền tảng của scikit-learn lại được viết dưới các thư viện của C để tăng hiệu suất làm việc. Ví dụ như: Numpy(Tính toán ma trận), LAPACK, LibSVM và Cython.
2. Thuật toán :
Thư viện tập trung vào việc mô hình hóa dữ liệu. Nó không tập trung vào việc truyền tải dữ liệu, biến đổi hay tổng hợp dữ liệu. Những công việc này dành cho thư viện Numpy và Pandas.
Sau đâu là một số nhóm thuật toán được xây dựng bởi thư viện scikit-learn:
- Clustering: Nhóm thuật toán Phân cụm dữ liệu không gán nhãn. Ví dụ thuật toán KMeans
- Cross Validation: Kiểm thử chéo, đánh giá độ hiệu quả của thuật toán học giám sát sử dụng dữ liệu kiểm thử (validation data) trong quá trình huấn luyện mô hình.
- Datasets: Gồm nhóm các Bộ dữ liệu được tích hợp sẵn trong thư viện. Hầu như các bộ dữ liệu đều đã được chuẩn hóa và mang lại hiêu suất cao trong quá trình huấn luyện như iris, digit, ...
- Dimensionality Reduction: Mục đích của thuật toán này là để Giảm số lượng thuộc tính quan trọng của dữ liệu bằng các phương pháp như tổng hợp, biểu diễn dữ liệu và lựa chọn đặc trưng. Ví dụ thuật toán PCA (Principal component analysis).
- Ensemble methods: Các Phương pháp tập hợp sử dụng nhiều thuật toán học tập để có được hiệu suất dự đoán tốt hơn so với bất kỳ thuật toán học cấu thành nào.
- Feature extraction: Trích xuất đặc trưng. Mục đích là để định nghĩa các thuộc tình với dữ liệu hình ảnh và dữ liệu ngôn ngữ.
- Feature selection: Trích chọn đặc trưng. Lựa chọn các đặc trưng có ý nghĩa trong việc huấn luyện mô hình học giám sát.
- Parameter Tuning: Tinh chỉnh tham số. Các thuật toán phục vụ việc lựa chọn tham số phù hợp để tối ưu hóa mô hình.
- Manifold Learning: Các thuật toán học tổng hợp và Phân tích dữ liệu đa chiều phức tạp.
- Supervised Models: Học giám sát. Mảng lớn các thuật toán học máy hiện nay. Ví dụ như linear models, discriminate analysis, naive bayes, lazy methods, neural networks, support vector machines và decision trees.
Chúng ta đi tìm hiểu một ví dụ cụ thể sau
3. Ví du
(Classification and Regression Trees)
Tôi muốn cho bạn một ví dụ để cho bạn thấy việc sử dụng thư viện dễ dàng như thế nào.Ở ví dụ sau, chúng ta sử dụng cây quyết định Decision tree phân loại để mô hình hóa bộ dữ liệu hoa Iris.Bộ dữ liệu này được cung cấp dưới dạng tập dữ liệu mẫu với thư viện và được tải. Trình phân loại phù hợp với dữ liệu và sau đó dự đoán được thực hiện trên dữ liệu đào tạo.Bộ dữ liệu này được cung cấp dưới dạng tập dữ liệu mẫu ngay trong thư viện sau đó được tải xuống. Thuật toán phân loại bắt đầu huấn luyện mô hình với bộ dữ liệu Iris ban đầu sau đó dự đoán lại các dữ liệu huấn luyện.Cuối cùng, chúng ta đánh giá độ tốt của mô hình bằng quan sát accuracy và confusion matrix của 2 tập nhãn thực tế và nhãn dự đoán của mô hình.
# Sample Decision Tree Classifier
from sklearn import datasets
from sklearn import metrics
from sklearn.tree import DecisionTreeClassifier
# load the iris datasets
dataset = datasets.load_iris()
# fit a CART model to the data
model = DecisionTreeClassifier()
model.fit(dataset.data, dataset.target)
print(model)
# make predictions
expected = dataset.target
predicted = model.predict(dataset.data)
# summarize the fit of the model
print(metrics.classification_report(expected, predicted))
print(metrics.confusion_matrix(expected, predicted))
Chạy ví dụ trên được kết quả như sau. Bạn có thể thấy chi tiết mô hình cây phân loại được huấn luyện với các tham số chi tiết như thế nào, mỗi tham số ảnh hưởng rất lớn tới việc mô hình có tốt hay không. Phía dưới là classification report và confusion matrix của mô hình.
DecisionTreeClassifier(class_weight=None, criterion='gini', max_depth=None,
max_features=None, max_leaf_nodes=None, min_samples_leaf=1,
min_samples_split=2, min_weight_fraction_leaf=0.0,
presort=False, random_state=None, splitter='best')
precision recall f1-score support
0 1.00 1.00 1.00 50
1 1.00 1.00 1.00 50
2 1.00 1.00 1.00 50
avg / total 1.00 1.00 1.00 150
[[50 0 0]
[ 0 50 0]
[ 0 0 50]]
Bài 9: Machine Learning - Unsupervised learning - AI - Machine Learning cơ bản
Trong machine learning, điều chúng ta làm là khiến cỗ máy học cách tìm ra giải pháp bài toán. Trong bài toán hồi quy (regression) ta huấn luyện máy để dự đoán giá trị trong tương lai. Trong bài toán phân loại (classification) ta huấn luyện máy phân loại một đối tượng không xác định vào một các danh mục do chính ta đề ta. Tóm lại, chúng ta đã đào tạo máy để nó có thể dự đoán Y cho dữ liệu X. Với một tập dữ liệu khổng lồ và không ước tính được các danh mục, chúng ta sẽ khó đào tạo được máy bằng phương pháp học có giám sát. Điều gì sẽ xảy ra nếu máy có thể tra cứu và phân tích dữ liệu lớn chạy thành nhiều Gigabyte và Terabyte và cho chúng ta biết rằng dữ liệu này chứa rất nhiều danh mục riêng biệt ?Ví dụ , hãy xem xét dữ liệu bầu cử tri. Bằng cách xem xét đầu vào mỗi cử tri (tính năng trong AI), hãy để máy dự đoán rằng có rất nhiều cử tri sẽ bỏ phiếu cho Đảng chính trị X và nhiều người sẽ bỏ phiếu cho Y,..Do đó, nói chung chúng ta đang hỏi máy được cung cấp bởi một tập hợp lớn các điểm dữ liệu X, "Bạn có thể cho tôi biết gì về X?". Hoặc câu hỏi như "Năm nhóm tốt nhất chúng ta có thể thể tạo ra từ X là gì ?". Hoặc "Ba đặc điểm nào xuất hiện cùng nhau thường xuyên nhất trong X"Đây chúng là tất cả về Học không giám sát
Thuật toán học không giám sát :
Chúng ta hãy bàn luận về một trong những thuật toán được sử dụng rộng rãi cho bài toán phân lớp trong học không giám sát
k-means clustering :
Các cuộc bầu cử Tổng thống năm 2000 và 2004 ở Hoa Kỳ . Tỷ lệ phiếu phổ thông lớn nhất mà bất kỳ ứng cử viên nào nhận được là 50,7% và thấp nhất là 47,9%. Nếu một phần trăm cử tri đã chuyển sang phe khác, kết quả của cuộc bầu cử sẽ khác. Có những nhóm nhỏ cử tri, khi được kháng cáo thích hợp, sẽ chuyển phe. Những nhóm này có thể không lớn, nhưng với những cuộc chạy đua gần như vậy, họ có thể đủ lớn để thay đổi kết quả của cuộc bầu cử. Làm thế nào để bạn tìm thấy những nhóm người này? Làm thế nào để bạn hấp dẫn họ với một ngân sách hạn chế? Câu trả lời là phân cụm(clustering).Đây là cách thức thực hiện
- Đầu tiên, bạn thu thập thông tin về những người có hoặc không có sự đồng ý của họ: bất kỳ loại thông tin nào có thể cung cấp một số
- Sau đó , đưa thông tin vào một số loại thuật toán phân cụm
- Tiếp theo, với mỗi phân cụm ( Sẽ thông minh hơn nếu chọn cụm lớn trước) bạn tạo ra một thông điệp sẽ thu hút những người bỏ phiếu này.
- Cuối cùng, bạn triển khai chiến dịch và đo lường xem nó có hoạt động hay không.
Phân cụm là một loại học tập không giám sát tự động tạo thành các cụm. Nó giống như phân loại tự động. Bạn có thể phân cụm hầu hết mọi thứ và các mục càng giống nhau trong cụm thì các cụm càng tốt. Trong chương này, chúng ta sẽ nghiên cứu một loại thuật toán phân cụm được gọi là k-mean. Nó được gọi là k-mean vì nó tìm thấy các cụm duy nhất ‘k’ và trung tâm của mỗi cụm là giá trị trung bình của các giá trị trong cụm đó.
Cluster Identification :
Cluster identification được gọi là một thuật toán. “Đây là một số dữ liệu. Bây giờ hãy nhóm những thứ tương tự lại với nhau và cho tôi biết về những nhóm đó ”. Sự khác biệt chính so với phân loại là trong phân loại, bạn biết những gì bạn đang tìm kiếm. Trong khi đó không phải là trường hợp trong phân cụm.Phân cụm đôi khi được gọi là phân loại không giám sát vì nó tạo ra kết quả giống như phân loại nhưng không có các lớp được xác định trước.Chúng ta đã hiểu qua các khái niệm cơ bản về học có giám sát và không giám sát. Để hiểu phần còn lại, trước tiên chúng ta phải hiểu về Mạng thần kinh nhân tạo (ANN), ta sẽ tìm hiểu trong bài tiếp theo.
Bài 10: Machine Learning - Artificial Neural Networks - AI - Machine Learning cơ bản
Ý tưởng về mạng lưới thần kinh nhân tạo được bắt nguồn từ mạng lưới thần kinh trong não người. Bộ não con người thực sự phức tạp. Nghiên cứu kỹ lưỡng bộ não, các nhà khoa học và kỹ sư đã đưa ra một kiến trúc có thể phù hợp với thế giới máy tính nhị phân kỹ thuật số của chúng ta. Một trong những kiến trúc điển hình như vậy được thể hiện trong sơ đồ dưới đây -
Có một lớp đầu vào có nhiều cảm biến để thu thập dữ liệu từ thế giới bên ngoài. Ở phía bên phải, chúng tôi có một lớp đầu ra cho chúng tôi kết quả được dự đoán bởi mạng. Ở giữa hai lớp này, một số lớp được ẩn. Mỗi lớp bổ sung làm tăng thêm độ phức tạp trong việc đào tạo mạng, nhưng sẽ cung cấp kết quả tốt hơn trong hầu hết các tình huống. Có một số kiểu kiến trúc được thiết kế mà chúng ta sẽ thảo luận ngay bây giờ.
ANN Architectures
Sơ đồ dưới đây cho thấy một số kiến trúc ANN được phát triển trong một khoảng thời gian và đang được thực hiện cho đến ngày nay.
Source:https://towardsdatascience.com/the-mostly-complete-chart-of-neural-networks-explained-3fb6f2367464Mỗi kiến trúc được phát triển cho một loại ứng dụng cụ thể. Do đó, khi bạn sử dụng mạng nơ-ron cho ứng dụng học máy của mình, bạn sẽ phải sử dụng một trong các kiến trúc hiện có hoặc thiết kế của riêng bạn. Loại ứng dụng cuối cùng bạn quyết định tùy thuộc vào nhu cầu ứng dụng của bạn. Không có hướng dẫn nào cho bạn biết sử dụng một kiến trúc mạng cụ thể.
Bài 11: Machine Learning - Deep Learning - AI - Machine Learning cơ bản
Deep learning sử dụng ANN. Trước tiên, chúng ta sẽ xem xét một vài ứng dụng học sâu sẽ cho bạn ý tưởng về sức mạnh của nó.
Applications
Deep Learning đã cho thấy rất nhiều thành công trong một số lĩnh vực ứng dụng máy học.Ô tô tự lái- Ô tô tự lái sử dụng các kỹ thuật học sâu. Họ thường thích nghi với các tình huống giao thông luôn thay đổi và ngày càng lái xe tốt hơn trong một khoảng thời gian.Nhận dạng giọng nói - Một ứng dụng thú vị khác của Học sâu là nhận dạng giọng nói. Tất cả chúng ta ngày nay đều sử dụng một số ứng dụng di động có khả năng nhận dạng giọng nói của chúng ta. Apple’s Siri, Amazon’s Alexa, Microsoft’s Cortena và Google’s Assistant - tất cả đều sử dụng các kỹ thuật học sâu.Ứng dụng dành cho thiết bị di động- Chúng tôi sử dụng một số ứng dụng di động và dựa trên web để sắp xếp ảnh của chúng tôi. Nhận diện khuôn mặt, nhận dạng khuôn mặt, gắn thẻ khuôn mặt, xác định đối tượng trong hình ảnh - tất cả đều sử dụng học sâu.
Cơ hội chưa được khai thác của Deep learning :
Sau khi xem xét thành công lớn mà các ứng dụng học sâu đã đạt được trong nhiều lĩnh vực, mọi người bắt đầu khám phá các lĩnh vực khác mà cho đến nay máy học chưa được áp dụng. Có một số lĩnh vực mà kỹ thuật học sâu được áp dụng thành công và có nhiều lĩnh vực khác có thể được khai thác. Một số trong số này được thảo luận ở đây.
- Nông nghiệp là một trong những ngành mà mọi người có thể áp dụng các kỹ thuật học tập sâu để nâng cao năng suất cây trồng.
- Tài chính tiêu dùng là một lĩnh vực khác mà máy học có thể giúp ích rất nhiều trong việc phát hiện sớm các hành vi gian lận và phân tích khả năng thanh toán của khách hàng.
- Kỹ thuật học sâu cũng được áp dụng trong lĩnh vực y học để tạo ra các loại thuốc mới và cung cấp đơn thuốc được cá nhân hóa cho bệnh nhân.
Khả năng là vô tận và con người phải tiếp tục theo dõi khi các ý tưởng và phát triển mới xuất hiện thường xuyên.
Điều gì cần thiết để đạt được nhiều thành tựu hơn bằng cách sử dụng Deep learning :
Để sử dụng deeplearning, sức mạnh siêu máy tính là một yêu cầu bắt buộc. Bạn cần cả bộ nhớ cũng như CPU để phát triển các mô hình deeplearning. May mắn thay, ngày nay chúng ta đã có sẵn HPC - Máy tính Hiệu suất Cao một cách dễ dàng. Do đó, sự phát triển của các ứng dụng deeplearningmà chúng tôi đã đề cập ở trên đã trở thành hiện thực ngày nay và trong tương lai chúng ta cũng có thể thấy các ứng dụng trong những lĩnh vực chưa được khai thác mà chúng ta đã thảo luận trước đó.Bây giờ, chúng ta sẽ xem xét một số hạn chế của deeplearning mà chúng ta phải xem xét trước khi sử dụng nó trong ứng dụng học máy của mình.
Nhược điểm của Deeplearning:
Một số điểm quan trọng mà bạn cần cân nhắc trước khi sử dụng học sâu được liệt kê dưới đây:
- Cách tiếp cận Black Box
- Thời gian phát triển
- Số lượng dữ liệu
- Chi phí cao
a. Cách tiếp cận Black Box:
ANN giống như một hộp đen. Bạn cung cấp cho nó một đầu vào nhất định và nó sẽ cung cấp cho bạn một đầu ra cụ thể. Sơ đồ sau đây cho bạn thấy một ứng dụng như vậy, nơi bạn cung cấp hình ảnh động vật vào mạng nơ-ron và nó cho bạn biết rằng hình ảnh đó là của một con chó.
Tại sao đây được gọi là cách tiếp cận hộp đen là bạn không biết tại sao mạng lại đưa ra một kết quả nhất định. Bạn không biết làm thế nào mà dân mạng kết luận đó là một con chó? Bây giờ, hãy xem xét một ứng dụng ngân hàng mà ngân hàng muốn quyết định mức độ tín nhiệm của khách hàng. Mạng chắc chắn sẽ cung cấp cho bạn câu trả lời cho câu hỏi này. Tuy nhiên, liệu bạn có thể biện minh cho khách hàng? Các ngân hàng cần giải thích cho khách hàng hiểu tại sao khoản vay không bị xử phạt?
b. Thời gian phát triển :
Quá trình đào tạo một mạng nơ-ron được mô tả trong sơ đồ dưới đây:
Trước tiên, bạn xác định vấn đề mà bạn muốn giải quyết, tạo một đặc tả cho nó, quyết định các tính năng đầu vào, thiết kế mạng, triển khai nó và kiểm tra đầu ra. Nếu kết quả đầu ra không như mong đợi, hãy coi đây là phản hồi để cơ cấu lại mạng của bạn. Đây là một quá trình lặp đi lặp lại và có thể yêu cầu nhiều lần lặp lại cho đến khi mạng thời gian được huấn luyện đầy đủ để tạo ra các đầu ra mong muốn.
c. Số lượng dữ liệu :
Các mạng học sâu thường yêu cầu một lượng lớn dữ liệu để đào tạo, trong khi các thuật toán học máy truyền thống có thể được sử dụng thành công ngay cả khi chỉ với vài nghìn điểm dữ liệu. May mắn thay, lượng dữ liệu dồi dào đang tăng lên 40% mỗi năm và sức mạnh xử lý của CPU đang tăng ở mức 20% mỗi năm như được thấy trong biểu đồ dưới đây :
d. Chi phí cao :
Việc đào tạo một mạng nơ-ron đòi hỏi sức mạnh tính toán cao hơn nhiều lần so với sức mạnh cần thiết khi chạy các thuật toán truyền thống. Việc đào tạo thành công Mạng thần kinh sâu có thể yêu cầu thời gian đào tạo vài tuần.Trái ngược với điều này, các thuật toán học máy truyền thống chỉ mất vài phút / giờ để đào tạo. Ngoài ra, lượng sức mạnh tính toán cần thiết để đào tạo mạng nơ-ron sâu phụ thuộc nhiều vào kích thước dữ liệu của bạn và mức độ sâu và phức tạp của mạng?Sau khi có cái nhìn tổng quan về Deeplearning là gì, các khả năng, hạn chế và ứng dụng của nó, bây giờ chúng ta hãy đi sâu vào tìm hiểu “Deeplearning”.
Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!
- Bài 1: Giới thiệu về Machine Learning
- Bài 2: Machine Learning - AI ngày nay có thể làm gì?
- Bài 3: Machine Learning - AI truyền thống
- Bài 4: Machine Learning - Machine Learning là gì?
- Bài 5: Machine Learning - Phân loại
- Bài 6: Machine Learning - Phân loại (p2)
- Bài 7: Machine Learning - Supervised Learning
- Bài 8: Machine Learning - Thư viện Scikit learn
- Bài 9: Machine Learning - Unsupervised learning
- Bài 10: Machine Learning - Artificial Neural Networks
- Bài 11: Machine Learning - Deep Learning
- Bài 12: Machine Learning - Skills
- Bài 13: Machine Learning - Implementing
- Bài 14: Khởi đầu với neural network
- Bài 15: Xử lý ảnh sử dụng Neural Network
- Bài 16: Mạng neuron tích chập
- Bài 17: Machine Learning - Kết luận
- Bài 18: Rút gọn : Phần 1
- Bài 19: Rút gọn - phần 2
- Bài 20: Rút gọn - phần 3