Bài 56 - Knowledge Distillation


    1. Khái niệm về knowledge distillation Knowledge distillation được giới thiệu bởi Geoffrey Hinton vào năm 2015 là một trong những phương pháp thuộc họ transfer learning. Thuật toán lấy ý tưởng chính từ quá trình học tập ở người khi mà kiến thức được truyền đạt từ giảng viên có hiểu biết tốt hơn tới người học có hiểu biết kém hơn. Trong kỹ thuật knowledge distillation thì một model lớn hơn sẽ đóng...

    Xem tiếp »

    Appendix 2 - How this blog is built


    1. Why do i write this post? 1.1. Why write blog is good? I learn one experience that is: “The best way to learn something is teach them again to the other” Actually, I am quite normal learner when i start writing my blog. The unique motivation lead me to patiently write blog is that I have plenty of spare time. And I think I have to do something to fill in empty box. And...

    Xem tiếp »

    Lesson 55 - StarGAN Multi-Domain Image2Image translation


    1. StarGAN Multi-Domain Image-to-Image translation In previous sections, you are introduced about:: pix2pix GAN is a kind of conditional GAN that you enable to control desired output. The loss function is the combination of adversarial loss and L1-loss. To train pix2pix GAN required to couple source and target images. So it is low performance on small and scarce dataset. CycleGAN that is unsupervised GAN model enable to learn how to translate from one source dataset...

    Xem tiếp »

    Lesson 54 - CycleGAN Unpaired image to image translation


    1. Introduction In reality, there are many image to image translation tasks such as: Transforming image color between two pictures. Changing season from summer to winter. Changing dark to night and night to dark. Transforming colored images into sketch images. Translating hourse into zebra. Translating photo into the painting of the dead artists. When face up with these tasks related to image to image translation, CycleGAN may be the best facility you should think first....

    Xem tiếp »

    Lesson 53 - ResNet model


    1. ResNet history ResNet is outstanding CNN network that have both model size and accuracy is bigger than MobileNet. It was firstly launched in 2015 in a paper Deep Resual Learning for Image Recognition and very soon to gain the first rank on ILSVLC 2015. It allow you to tunning the model’s deepth according to your requirement as flexiable as possible. Thus, i guess that you have ever meet several kinds of ResNet deepth version...

    Xem tiếp »

    Bài 52 - Parallel Computing on Python


    1. Tại sao cần xử lý song song Trong quá trình xây dựng các ứng dụng deep learning trên python, mình nhận ra rằng để tạo ra một ứng dụng thì không khó. Nhưng để tạo ra một ứng dụng đáp ứng được tốc độ xử lý, độ chính xác và mức độ sử dụng resource thì cần phải tối ưu rất nhiều thứ. Bạn sẽ phải quan tâm đến các khía cạnh như: Giảm...

    Xem tiếp »

    Bài 51 - Quantization trong deep learning


    1. Tại sao cần quantization Khi tôi viết bài này thì quantization đã khá phổ biến trong Deep Learning. Đây là một khái niệm không còn mới, nhưng lại rất quan trọng. Vậy nó quan trọng như thế nào và vì sao chúng ta lại cần quantization ? Các mô hình deep learning ngày càng đạt độ chính xác cao hơn qua thời gian. Không khó để bạn tìm thấy những mô hình đạt độ...

    Xem tiếp »

    Bài 50 - Docker cho Deep Learning


    1. Docker Trước khi bắt đầu bài viết này, chắc các bạn thắc mắc Docker thì có liên quan gì đến deep learning? Câu trả lời tất nhiên là có: Việc cài đặt các deep learning framework dễ xảy ra lỗi, docker giúp bạn có thể tận dụng lại các môi trường đã được build sẵn để không cần phải cài đặt phức tạp. Docker giúp triển khai môi trường huấn luyện các mô hình...

    Xem tiếp »

    Bài 49 - Pix2Pix GAN


    1. Giới thiệu chung Gần đây trong công việc của mình tôi đã sử dụng các mô hình GAN cho các tác vụ sinh ảnh nhằm bổ sung thêm dữ liệu cho các mô hình. Kết quả khá lạc quan là độ chính xác của mô hình đã được cải thiện đáng kể. Tôi nghĩ rằng GAN là lớp mô hình rất hay mà nếu bạn biết áp dụng một cách khéo léo vào data...

    Xem tiếp »

    Bài 48 - Mobilenet model


    1. Nhu cầu về lightweight model Sự phát triển về mặt học thuật của thị giác máy tính đã tạo ra rất nhiều các models khác nhau với độ chính xác được đo lường trên bộ dữ liệu ImageNet ngày càng được cải thiện. Tuy nhiên không phải toàn bộ trong số chúng đều có thể sử dụng được trên các thiết bị gặp hạn chế về tài nguyên tính toán. Để phát triển được...

    Xem tiếp »

    Bài 47 - Focal Loss trong RetinaNet


    1. Focal Loss Function Trong bài báo được trình bày vào tháng 1, 2018 tựa đề Focal Loss for Dense Object Detection, nhóm tác giả Tsung-Yi Lin, Priya Goyal, ... của FAIR (Facebook AI research) đã công bố một hàm loss function mới mang tính đột phá trong việc cải thiện hiệu xuất của lớp mô hình one-stage detector trong object detection. Dựa trên nhận định rằng mất cân bằng dữ liệu giữa các nhóm...

    Xem tiếp »

    Bài 46 - Đánh giá mô hình phân loại trong ML


    1. Đánh giá mô hình Trong quá trình xây dựng một mô hình machine learning, một phần không thể thiếu để biết được chất lượng của mô hình như thế nào đó chính là đánh giá mô hình. Đánh giá mô hình giúp chúng ta lựa chọn được mô hình phù hợp nhất đối với bài toán của mình. Tuy nhiên để tìm được thước đo đánh giá mô hình phù hợp thì chúng ta...

    Xem tiếp »

    Bài 45 - Conditional GAN (cGAN)


    1. Giới thiệu chung Ở những bài trước chúng ta đã được tìm hiểu về model GAN và huấn luyện model GAN theo phương pháp Wasserstein. Những model này sẽ biến đổi noise vector ngẫu nhiên thành hình ảnh output dựa trên mạng generator. Chúng ta cùng khái quát lại kiến trúc của model GAN qua hình minh họa và tóm lược bên dưới : Mô hình GAN sẽ huấn luyện đồng thời cả hai...

    Xem tiếp »

    Bài 44 - Model Wasserstein GAN (WGAN)


    1. Giới thiệu chung Huấn luyện model GAN là một việc không dễ dàng bởi trong quá trình huấn luyện model thường xuyên không thể hội tụ đến điểm cân bằng. Một trong những cách chúng ta có thể áp dụng để khắc phục sự không hội tụ đó là thay đổi hàm loss function. Trong bài viết này chúng ta sẽ cùng tìm hiểu phương pháp huấn luyện Wasserstein GAN và phạt WGAN-Gradient. Nếu...

    Xem tiếp »

    Bài 43 - Model GAN


    1. Giới thiệu chung Một trong những xu hướng nghiên cứu thu hút được đông đảo các nhà khoa học, có tính ứng dụng cao và phát triển mạnh mẽ trong những năm gần đây trong Deep Learning có lẽ là GAN. Chính vì thế bài viết này mình sẽ giới thiệu về GAN, các ứng dụng, kiến trúc thuật toán và phương pháp huấn luyện theo hướng tiếp cận đơn giản nhất, dựa trên...

    Xem tiếp »

    Bài 42 - Thực hành Unet


    1. Tiềm năng của Semantic Segmentation trong y sinh 1.1. Ứng dụng của Semantic Segmentation trong y sinh Trong y tế có rất nhiều các bài toán có thể ứng dụng Semantic Segmentation, mang lại hiệu quả và đột phá trong chuẩn đoán và điều trị bệnh. Một trong số những ứng dụng điển hình đó chính là chuẩn đoán khối u qua hình ảnh. Những loại ung thư phổ biến như ung thư vú,...

    Xem tiếp »

    Bài 41 - DeepLab Sentiment Segmentation


    1. Giới thiệu chung Ở Bài 40 - Image Segmentation chúng ta đã được tìm hiểu về một số thuật toán Image Segmentation. Thông qua đó, chúng ta đã nắm được cơ bản về input/output, kiến trúc của một mô hình Image Segmentation và một số lớp mô hình Image Segmentation phổ biến như Mask-CNN, U-Net, FCN. Ở bài này chúng ta sẽ tiếp tục tìm hiểu những kiến trúc Image Segmentation hiện đại hơn...

    Xem tiếp »

    Bài 40 - Image Segmentation


    1. Khái quát các bài toán trong Computer Vision 1.1. Các dạng bài toán trong Computer Vision Các bài toán và ứng dụng của computer vision Hình 1: Sơ đồ các tác vụ của computer vision trong AI. Các bài toán trong computer vision khá đa dạng. Image classification là lớp bài toán phổ biến nhất giúp chúng ta phân loại ảnh. Object detection thì không chỉ phân loại ảnh mà còn xác định vị...

    Xem tiếp »

    Bài 39 - Thực hành ứng dụng BERT


    1. BERT trong Tiếng Việt Ở bài 36 chúng ta đã tìm hiểu về các kiến trúc của model BERT gồm BERT Base, BERT Large và những ứng dụng trong các tác vụ NLP của nó. Sự ra đời của model BERT là một cột mốc rất quan trọng của ngành NLP mà có thể phân chia thành giai đoạn phát triển trước BERT và sau BERT. Các kết quả ứng dụng BERT đã phá...

    Xem tiếp »

    Bài 38 - Các kiến trúc CNN hiện đại


    1. Tiến trình phát triển của CNN 1.1. Giới thiệu chung Mạng CNN ra đời đã thúc đẩy quá trình phát triển của ngành computer vision. Hiện tại có rất nhiều các kiến trúc mạng CNN khác nhau và các kiến trúc mới vẫn đang tiếp tục được khám phá ngày qua ngày. Nhưng ít ai biết rằng đằng sau những khám phá đó là một tiến trình khoa học lâu dài và bền bỉ...

    Xem tiếp »

    Bài 37 - Transformer thêm dấu Tiếng Việt


    1. Dữ liệu Thêm dấu Tiếng Việt có lẽ đã không còn là một bài toán quá xa lạ đối với cộng đồng AI Việt Nam. Đây là bài toán có tính ứng dụng cao và nhiều doanh nghiệp rất cần. Bản thân công ty mình (Adayroi trước đây) cũng có một dự án như thế. Trước đó thì mình chỉ sử dụng thuật toán LSTM và kết quả trả ra không tốt đối với...

    Xem tiếp »

    Bài 36 - BERT model


    1. Giới thiệu chung 1.1. Một số khái niệm Trước khi đi vào bài này, chúng ta cần hiểu rõ một số khái niệm: Nhiệm vụ phía sau (Downstream task): Là những tác vụ supervised-learning được cải thiện dựa trên những pretrained model. VD: Chúng ta sử dụng lại các biểu diễn từ học được từ những pretrained model trên bộ văn bản lớn vào một tác vụ phân tích cảm xúc huấn luyện trên...

    Xem tiếp »

    Bài 35 - Multitask Learning - Multi Branch


    1. Giới thiệu chung. ở bài trước chúng ta đã tìm hiểu về học đa tác vụ (multitask learning). Thuật toán có khả năng dự báo nhiều tác vụ trên cùng một đầu vào, có sự chia sẻ đặc trưng giữa các tác vụ trong quá trình dự báo mà không cần xây dựng nhiều mô hình độc lập. Tiết kiệm được tài nguyên và thời gian huấn luyện. Multitask learning thường được ứng dụng...

    Xem tiếp »

    Bài 34 - Multitask Learning


    1. Giới thiệu về Multitask learning 1.1 Khái niệm multitask learning Các bài toán phân loại thông thường của classification có một hạn chế đó là với mỗi ảnh đầu vào chúng ta chỉ dự đoán được một nhãn duy nhất cho ảnh. Tuy nhiên trên thực thế có thể xuất hiện nhiều hơn 1 nhãn trên ảnh. Hình 1: Kết quả trả về của thuật toán image classification chỉ cho phép đưa ra 1...

    Xem tiếp »

    Bài 33 - Phương pháp Transfer Learning


    1. Giới thiệu chung Trong quá trình xây dựng mô hình chắc hẳn bạn đã gặp tình huống mô hình của bạn dự báo không chuẩn xác. Mặc dù đã áp dụng những kiến trúc phức tạp và được coi là state-of-art. Bạn nghi ngờ vấn đề nằm ở dữ liệu gán nhãn sai nhưng kiểm tra cho thấy vấn đề không nằm ở gán nhãn. Bạn loay hoay với câu hỏi tại sao mô...

    Xem tiếp »

    Bài 32 - Kĩ thuật tensorflow Dataset


    1. Vai trò của tensorflow Dataset Chắc hẳn các bạn từng thắc mắc vì sao trong deep learning các bộ dữ liệu bigdata có kích thước rất lớn mà các máy tính có RAM nhỏ hơn vẫn có thể huấn luyện được? Xuất phát từ lý do đó, bài này mình sẽ lý giải các cách thức dữ liệu có thể được truyền vào mô hình để huấn luyện theo cách tiếp cận dễ hiểu...

    Xem tiếp »

    Bài 31 - Amazon Virtual Machine Deep Learning


    1. Amazon web services Nếu các bạn đã từng làm việc với bigdata chắc sẽ không còn xa lạ với các dịch vụ của Amazon Web Serives. Đây là tổng hợp các giải pháp của Amazon như cơ sở dữ liệu, lưu trữ, tính toán, giải pháp AI, machine learning, bảo mật, networking, phân tích dữ liệu, triển khai web, app, cho thuê máy chủ,…. Hệ sinh thái Amazon Web Services là một hệ sinh...

    Xem tiếp »

    Bài 30 - Xây dựng Web AI trên tensorflow js


    1. Giới thiệu chung Ở bài trước mình đã giới thiệu với các bạn cách nào để xây dựng được một API và vai trò của API đối với hoạt động của các ứng dụng. Tiếp nối bài trước, ở bài này mình sẽ hướng dẫn mọi người làm thể nào để xây dựng và triển khai một ứng dụng web trên heroku. Ý tưởng của ứng dụng đó là chúng ta sẽ dự đoán...

    Xem tiếp »

    Bài 29 - Xây dựng Flask API cho mô hình deep learning


    1. Nhu cầu deploy model Quá trình huấn luyện mô hình mới chỉ tạo ra các sản phẩm chạy được trên jupyter notebook. Có một AI engineer khá nổi tiếng nói rằng: model trên jupyter notebook là model chết. Mình khá đồng tình với quan điểm này vì nếu không đưa sản phẩm lên production thì mọi việc chúng ta làm đều unusable. Với các doanh nghiệp lớn, để đưa được model vào ứng dụng...

    Xem tiếp »

    Bài 28 - Thực hành training Facenet


    1. Cài đặt các package cần thiết Tiếp nối bài 27 model facenet. Trong bài này mình sẽ hướng dẫn các bạn cách thức xây dựng và huấn luyện model facenet cho bộ dữ liệu của mình. Bài thực hành được viết trên google colab. Các bạn mở trực tiếp link hướng dẫn facenet để bắt đầu các bước nhé. Ngoài ra để tạo thuận lợi cho việc thực hành, mọi git repository của blog...

    Xem tiếp »

    Bài 27 - Mô hình Facenet trong face recognition


    1. Hệ thống nhận diện khuôn mặt 1.1. Các ứng dụng phổ biến Vào năm 2012, tôi vẫn còn nhớ facebook bắt dầu có chức năng nhận diện khuôn mặt. Khi đó tôi còn là một sinh viên chưa biết đến khái niệm trí tuệ nhân tạo. Tôi cực kì ấn tượng với khả năng kì diệu này. Tôi nghĩ chắc facebook phải thuê hàng ngàn người ngồi gán nhãn cho từng bức ảnh mỗi...

    Xem tiếp »

    Bài 26 - Huấn luyện YOLO darknet trên google colab


    1. Giới thiệu chung Ở bài này tôi sẽ hướng dẫn các bạn huấn luyện model YOLO trên google colab qua các khâu: Cấu hình cài đặt GPU. Chuẩn bị dữ liệu. Cấu hình mô hình. Huấn luyện và dự báo. Qúa trình huấn luyện YOLO sẽ rất dễ xảy ra lỗi nếu chưa có kinh nghiệm. Chính vì thế tôi sẽ tổng kết các lưu ý quan trọng về lỗi khi huấn luyện mô...

    Xem tiếp »

    Bài 25 - YOLO You Only Look Once


    1. Giới thiệu chung Có lẽ trong vài năm trở lại đây, object detection là một trong những đề tài rất hot của deep learning bởi khả năng ứng dụng cao, dữ liệu dễ chuẩn bị và kết quả ứng dụng thì cực kì nhiều. Các thuật toán mới của object detection như YOLO, SSD có tốc độ khá nhanh và độ chính xác cao nên giúp cho Object Detection có thể thực hiện được...

    Xem tiếp »

    Bài 24 - Mất cân bằng dữ liệu (imbalanced dataset)


    1. Mất cân bằng dữ liệu (imbalanced dataset) Mất cân bằng dữ liệu là một trong những hiện tượng phổ biến của bài toán phân loại nhị phân (binary classification) như spam email, phát hiện gian lận, dự báo vỡ nợ, chuẩn đoán bệnh lý,…. Trong trường hợp tỷ lệ dữ liệu giữa 2 classes là 50:50 thì được coi là cân bằng. Khi có sự khác biệt trong phân phối giữa 2 classes, chẳng...

    Xem tiếp »

    Bài 23 - Neural Attentive Session-Based Recommendation


    1. Các dạng mô hình Recommendation Ngày nay, các thuật toán recommendation ngày càng phát triển đa dạng bởi tính ứng dụng cao trong việc khuyến nghị và matching sản phẩm tới khách hàng trên các nền tảng website/app kinh doanh online. Recommendation có thể coi là vũ khí trong cuộc chơi của các ông lớn trong những ngành có tính đốt tiền cao như ecommerce, airbnb, logistic,…. Do đó đây là bài toán thu...

    Xem tiếp »

    Bài 22 - Scorecard model


    1. ScoreCard model là gì? Scorecard model là một lớp mô hình được ứng dụng trong nhiều lĩnh vực như tài chính, kinh doanh, quản lý xã hội. Mô hình Scorecard có tác dụng lượng hóa một hồ sơ cá nhân hoặc tổ chức thành một điểm tín nhiệm dựa trên khả năng xảy ra của một sự kiện nào đó như vỡ nợ, vi phạm luật. Dựa trên điểm tín nhiệm, các tổ chức...

    Xem tiếp »

    Bài 21 - Tiền xử lý ảnh OpenCV


    1. Vai trò của tiền xử lý ảnh Khi phát triển một thuật toán phân loại ảnh chúng ta có thể gặp phải một số trường hợp không mong đợi như: Kết quả huấn luyện có độ chính xác rất cao trên cả tập huấn luyện (train dataset) và tập phát triển (dev dataset). Nhưng khi áp dụng vào thực tiễn lại cho độ chính xác thấp. Có rất nhiều các nguyên nhân dẫn tới...

    Xem tiếp »

    Bài 20 - Recommendation Neural Network


    1. Ưu điểm của Recommendation Neural Network Ở bài trước chúng ta đã tìm hiểu về 2 thuật toán cơ bản trong recommendation đó là collaborative và content-based filtering. Ý tưởng chung của các thuật toán này đều là tìm cách ước lượng các giá trị rating của những cặp user-item chưa được rate bởi người dùng sao cho sai số so với giá trị thực tế là nhỏ nhất. Tuy nhiên những phương pháp...

    Xem tiếp »

    Bài 19 - Mô hình ARIMA trong time series


    1. Giới thiệu về chuỗi thời gian Dự báo chuỗi thời gian là một lớp mô hình quan trọng trong thống kê, kinh tế lượng và machine learning. Sở dĩ chúng ta gọi lớp mô hình này là chuỗi thời gian (time series) là vì mô hình được áp dụng trên các chuỗi đặc thù có yếu tố thời gian. Một mô hình chuỗi thời gian thường dự báo dựa trên giả định rằng các...

    Xem tiếp »

    Bài 18 - Các layers quan trọng trong deep learning


    1. Giới thiệu chung Mỗi một mô hình deep learning đều có các layers đặc trưng giúp giải quyết các tác vụ cụ thể của từng bài toán deep learning. Chẳng hạn như trong xử lý ảnh chúng ta thường sử dụng mạng CNN - convolutional neural network để trích xuất đặc trưng trên các local regional của bức ảnh là các đường nét chính như dọc, ngang, chéo,…. Hoặc layer LSTM - long short...

    Xem tiếp »

    Bài 17 - Thuật toán HOG (Histrogram of oriented gradient)


    1. Giới thiệu về thuật toán HOG 1.1. Giới thiệu chung Có rất nhiều các phương pháp khác nhau trong computer vision. Khi phân loại ảnh, chúng ta có thể áp dụng họ các mô hình CNN (Inception Net, mobile Net, Resnet, Dense Net, Alexnet, Unet,…) và khi phát hiện vật thể là các mô hình YOLO, SSD, Faster RCNN, Fast RCNN, Mask RCNN. Các thuật toán kể trên đều là những mô hình deep...

    Xem tiếp »

    Bài 16 - Model RFM phân khúc khách hàng


    I. Mô hình RFM (Recency - Frequency - Monetary model) Theo nguyên lý pareto 20% khách hàng sẽ mang lại 80% doanh số. Do đó doanh nghiệp cần xác định được những khách hàng quan trọng nhất để chăm sóc đặc biệt. Những tập khách hàng này được gọi là VIP, Priority hoặc khách hàng cao cấp, tùy từng doanh nghiệp có cách gọi khác nhau. Việc phân chia khách hàng thành các nhóm khác...

    Xem tiếp »

    Bài 15 - collaborative và content-based filtering


    1. Thuật toán recommendation Tại sao thế giới lại cần recommendation Recommendation hiểu một cách đơn giản là khuyến nghị một sản phẩm đến đúng người cần mua. Gỉa sử công ty của bạn hoạt động ở Việt Nam. Điều đó không có nghĩa rằng 95 triệu người Việt sẽ mua hàng của công ty bạn mà chỉ một phần trong số đó có nhu cầu. Trong số các khách hàng có nhu cầu thì...

    Xem tiếp »

    Bài 14 - Biểu đồ trên Google Map


    1. Các biểu đồ dạng bản đồ Bản đồ google map có thể thực hiện được những gì? Ngày nay cùng với sự phát triển của công cụ google map, việc visualize các báo cáo có liên quan đến vị trí địa lý trở nên dễ dàng hơn. Google map cũng support đa dạng các biểu đồ khác nhau như biểu đồ heatmap, biểu đồ scatter, biểu đồ line và rất nhiều các tùy biến...

    Xem tiếp »

    Bài 13 - Model SSD trong Object Detection


    1. Giới thiệu SSD model Ở bài 12 tôi đã giới thiệu đến các bạn tổng thể các lớp mô hình khác nhau trong object detection. Các kiến trúc cũ hơn có thể kể đến như R-CNN, fast R-CNN. Đặc điểm của chúng là tốc độ xử lý thấp, không đáp ứng được trong việc object dection realtime. Các mạng start-of-art hơn như SSD và YOLOv2, YOLOv3 là những kiến trúc có tốc độ xử...

    Xem tiếp »

    Bài 12 - Các thuật toán Object Detection


    1. Object detection là gì? Trước khi đi vào tìm hiểu object detection là gì, bạn đọc cần nắm vững một số khái niệm về mô hình phân loại ảnh (image classification), kiến trúc Convolutional neural network Pham Dinh Khanh, quá trình hình thành và phát triển mạng CNN đến nay Blog dlapplication. Sau khi đã đọc các bài hướng dẫn trên hãy quay lại bài viết này, bạn đọc sẽ hiểu những gì mà...

    Xem tiếp »

    Bài 11 - Visualization trong python


    1. Giới thiệu về biểu đồ Visualization hiểu một cách đơn giản là hình ảnh hóa dựa trên dữ liệu. Khái niệm của visualization rất ngắn gọn nhưng trên thực tế visualization lại là một mảng rất rộng và có thể coi là một lĩnh vực kết hợp của khoa học và nghệ thuật bởi nó vừa lên quan đến đồ họa (sử dụng hình học để diễn tả kết quả), vừa liên quan đến...

    Xem tiếp »

    Bài 10 - Thuật toán LDA - Xác định Topic


    1. Bài toán phân loại topic 1.1. Tại sao ta lại cần phân loại topic Trong cuộc sống sẽ rất cần đến các bài toán phân loại topics. Chẳng hạn như người đọc báo có thể dễ dàng lựa chọn thể loại báo ưa thích thông qua topics mà nó được gán. Người mua sách có thể lựa chọn được những sách liên quan đến chủ đề mà mình quan tâm thông qua topics. Hoặc...

    Xem tiếp »

    Bài 9 - Pytorch - Buổi 3 - torchtext module NLP


    1. Giới thiệu về Torchtext Như chúng ta đã biết, qui trình xây dựng một mô hình trong NLP sẽ đi qua các bước sau: Đọc dữ liệu văn bản từ ổ cứng. Tokenize dữ liệu text. Tạo từ điển mapping word sang index. Chuyển các câu sang list index. Padding dữ liệu bằng phần tử 0 để list các index về chung 1 độ dài. Xác định batch để truyền dữ liệu vào model....

    Xem tiếp »

    Bài 8 - Convolutional Neural Network


    1. Lý thuyết về mạng tích chập 1.1. Giới thiệu tích chập Tích chập là một khái niệm trong xử lý tín hiệu số nhằm biến đổi thông tin đầu vào thông qua một phép tích chập với bộ lọc để trả về đầu ra là một tín hiệu mới. Tín hiệu này sẽ làm giảm những đặc trưng mà bộ lọc không quan tâm và chỉ giữ những đặc trưng chính. Tích chập thông...

    Xem tiếp »

    Bài 7 - Pytorch - Buổi 2 - Seq2seq model correct spelling


    1. Giới thiệu chung Cùng với sự phát triển của deep learning nói chung. Ngày nay lớp các mô hình seq2seq càng tỏ ra hiệu quả trong nhiều tác vụ khác nhau như dịch máy, sửa lỗi chính tả, image captioning, recommendation, dự báo chuỗi thời gian,…. Nhờ sự phát triển của các kiến trúc mạng RNN hiện đại kèm theo các kĩ thuật learning hiệu quả như sử dụng thêm kiến trúc attention layer,...

    Xem tiếp »

    Bài 6 - Pytorch - Buổi 1 - Làm quen với pytorch


    1. Pytorch là gì? Trong số những framework hỗ trợ deeplearning thì pytorch là một trong những framework được ưa chuộng nhiều nhất (cùng với tensorflow và keras), có lượng người dùng đông đảo, cộng đồng lớn mạnh. Vào năm 2019 framework này đã vươn lên vị trí thứ 2 về số lượng người dùng trong những framework hỗ trợ deeplearning (chỉ sau tensorflow). Đây là package sử dụng các thư viện của CUDA và...

    Xem tiếp »

    Bài 5 - Model Pipeline - SparkSQL


    1. Giới thiệu về SparkSQL SparkSQL là một module của Apache spark cho phép thực hiện các biến đổi với dữ liệu có cấu trúc và các tính toán dựa trên cụm xử lý. Spark cho phép tính toán data phân tán bằng việc chia dữ liệu thành nhiều phần nhỏ và thực hiện tính toán song song từng phần trên nhiều node server khác nhau. Chính vì thế tốc độ xử lý của spark...

    Xem tiếp »

    Bài 4 - Attention is all you need


    1. Quá trình encoder và decoder Máy tính không thể học được từ các dữ liệu thô như bức ảnh, file text, file âm thanh, đoạn video. Do đó nó cần đến quá trình mã hóa thông tin sang dạng số và từ dạng số giải mã kết quả đầu ra. Đó chính là 2 quá trình encoder và decoder: Encoder: Là phrase chuyển input thành những features learning có khả năng học tập các...

    Xem tiếp »

    Apenddix 1 - Lý thuyết phân phối và kiểm định thống kê


    Phần 1 - Thống kê 1.1. Các đại lượng thống kê 1.Đại lượng ngẫu nhiên: Một đại lượng được coi là ngẫu nhiên nếu giá trị của nó là kết quả của một biến cố ngẫu nhiên. Chẳng hạn phép tung đồng xu đồng chất với 2 mặt xấp ngửa là một đại lượng ngẫu nhiên vì ta không hoàn toàn biết trước khả năng đồng xu rơi vào mặt xấp hoặc ngửa. Có 2...

    Xem tiếp »

    Bài 3 - Mô hình Word2Vec


    1. Giới thiệu Word Representation. Khác với các mô hình xử lý ảnh khi các giá trị đầu vào là cường độ màu sắc đã được mã hoá thành giá trị số trong khoảng [0, 255]. Mô hình xử lý ngôn ngữ tự nhiên có đầu vào chỉ là các chữ cái kết hợp với dấu câu. Làm sao chúng ta có thể lượng hoá được những từ ngữ để làm đầu vào cho mạng...

    Xem tiếp »

    Bài 2 - Lý thuyết về mạng LSTM part 2


    1. Mạng nơ ron truy hồi (RNN - Recurrent Neural Network) Trong lý thuyết về ngôn ngữ, ngữ nghĩa của một câu được tạo thành từ mối liên kết của những từ trong câu theo một cấu trúc ngữ pháp. Nếu xét từng từ một đứng riêng lẻ ta không thể hiểu được nội dụng của toàn bộ câu, nhưng dựa trên những từ xung quanh ta có thể hiểu được trọn vẹn một câu...

    Xem tiếp »

    Bài 1 - Kĩ thuật feature engineering


    1. Giới thiệu về feature engineering Hiện nay các phương pháp học máy xuất hiện ngày càng nhiều và trở nên mạnh mẽ hơn. Các mô hình học máy như mạng neural network, Random Forest, Decision Tree, SVM, kNN,… đều là những mô hình có tính tường minh thấp, độ chính xác cao, độ phức tạp và tính linh hoạt cao. Các mô hình học máy đa dạng sẽ làm phong phú thêm sự lựa...

    Xem tiếp »