Cắm và chạy các mô hình Machine Learning cho các điểm bất thường về hình ảnh trong AWS Serverless Architecture

Spread the love

Hãy tưởng tượng bạn có một cơ sở hạ tầng lớn gồm nhiều loại thiết bị khác nhau mà bạn cần thường xuyên bảo trì hoặc đảm bảo chúng không gây nguy hiểm cho môi trường xung quanh.

Một cách để đạt được điều này là thường xuyên cử người đến mọi nơi để kiểm tra xem mọi thứ có ổn không. Điều này bằng cách nào đó có thể thực hiện được nhưng cũng khá tốn thời gian và nguồn lực. Và nếu cơ sở hạ tầng đủ lớn, bạn có thể không bao phủ toàn bộ trong vòng một năm.

Một cách khác là tự động hóa quy trình đó và để các công việc trên đám mây xác minh giúp bạn. Để điều đó xảy ra, bạn sẽ cần phải làm như sau:

👉 Một quy trình nhanh chóng về cách lấy hình ảnh của thiết bị. Điều này vẫn có thể được thực hiện bởi mọi người vì việc chỉ thực hiện một bức ảnh như thực hiện tất cả các quy trình xác minh thiết bị vẫn nhanh hơn nhiều. Nó cũng có thể được thực hiện bằng các bức ảnh chụp từ ô tô hoặc thậm chí cả máy bay không người lái, trong trường hợp đó, quá trình thu thập ảnh sẽ trở nên nhanh hơn và tự động hơn nhiều.

👉 Sau đó, bạn cần gửi tất cả ảnh thu được đến một nơi dành riêng trên đám mây.

👉 Trên đám mây, bạn cần một công việc tự động để chọn ảnh và xử lý chúng thông qua các mô hình máy học được đào tạo để nhận biết các hư hỏng hoặc bất thường của thiết bị.

👉 Cuối cùng, kết quả phải được hiển thị cho người dùng được yêu cầu để có thể lên lịch sửa chữa cho các thiết bị gặp sự cố.

Hãy xem cách chúng tôi có thể đạt được khả năng phát hiện bất thường từ ảnh trong đám mây AWS. Amazon có một số mô hình máy học dựng sẵn mà chúng tôi có thể sử dụng cho mục đích đó.

Cách tạo mô hình để phát hiện sự bất thường bằng hình ảnh

Để tạo mô hình phát hiện sự bất thường bằng hình ảnh, bạn sẽ cần thực hiện theo một số bước:

Bước 1: Xác định rõ ràng vấn đề bạn muốn giải quyết và các loại bất thường bạn muốn phát hiện. Điều này sẽ giúp bạn xác định tập dữ liệu thử nghiệm phù hợp mà bạn sẽ cần để đào tạo mô hình.

Bước 2: Thu thập một bộ dữ liệu lớn gồm các hình ảnh đại diện cho các điều kiện bình thường và bất thường. Dán nhãn cho các hình ảnh để cho biết hình ảnh nào bình thường và hình ảnh nào có dấu hiệu bất thường.

Bước 3: Chọn kiến ​​trúc mô hình phù hợp với nhiệm vụ. Điều này có thể liên quan đến việc chọn một mô hình được đào tạo trước và tinh chỉnh mô hình đó cho trường hợp sử dụng cụ thể của bạn hoặc tạo một mô hình tùy chỉnh từ đầu.

Bước 4: Huấn luyện mô hình bằng bộ dữ liệu đã chuẩn bị và thuật toán đã chọn. Điều này có nghĩa là sử dụng học chuyển để tận dụng các mô hình được đào tạo trước hoặc đào tạo mô hình từ đầu bằng cách sử dụng các kỹ thuật như mạng thần kinh tích chập (CNN).

Cách đào tạo một mô hình học máy

Nguồn: aws.amazon.com

Quá trình đào tạo các mô hình máy học AWS để phát hiện điểm bất thường bằng hình ảnh thường bao gồm một số bước quan trọng.

#1. Thu thập dữ liệu

Ban đầu, bạn cần thu thập và gắn nhãn một tập dữ liệu lớn gồm các hình ảnh đại diện cho cả điều kiện bình thường và điều kiện bất thường. Tập dữ liệu càng lớn thì mô hình có thể được đào tạo càng tốt và chính xác hơn. Nhưng ngoài ra, nó đòi hỏi nhiều thời gian hơn dành riêng cho việc đào tạo người mẫu.

  Quản lý nhà hàng thật dễ dàng với 14 giải pháp này

Thông thường, bạn muốn có khoảng 1000 bức ảnh trong bộ thử nghiệm để có một khởi đầu thuận lợi.

#2. Chuẩn bị dữ liệu

Dữ liệu hình ảnh trước tiên phải được xử lý trước để các mô hình học máy có thể nhận chúng. Tiền xử lý có thể có nghĩa là nhiều thứ khác nhau, như:

  • Làm sạch ảnh đầu vào vào các thư mục con riêng biệt, sửa siêu dữ liệu, v.v.
  • Thay đổi kích thước hình ảnh để đáp ứng các yêu cầu về độ phân giải của mô hình.
  • Phân phối chúng thành các khối ảnh nhỏ hơn để xử lý song song và hiệu quả hơn.

#3. Chọn mẫu

Bây giờ hãy chọn đúng mô hình để thực hiện đúng công việc. Chọn một mô hình được đào tạo trước hoặc bạn có thể tạo một mô hình tùy chỉnh phù hợp để phát hiện sự bất thường trực quan trên mô hình.

#4. Đánh giá kết quả

Sau khi mô hình xử lý tập dữ liệu của bạn, bạn sẽ xác thực hiệu suất của nó. Ngoài ra, bạn muốn kiểm tra xem kết quả có thỏa mãn nhu cầu hay không. Ví dụ, điều này có thể có nghĩa là kết quả chính xác trên hơn 99% dữ liệu đầu vào.

#5. Triển khai mô hình

Nếu bạn hài lòng với kết quả và hiệu suất, hãy triển khai mô hình với một phiên bản cụ thể vào môi trường tài khoản AWS để các quy trình và dịch vụ có thể bắt đầu sử dụng mô hình đó.

#6. Giám sát và Cải thiện

Hãy để nó chạy qua nhiều công việc kiểm tra và bộ dữ liệu hình ảnh khác nhau, đồng thời liên tục đánh giá xem các thông số cần thiết để phát hiện chính xác có còn hiệu lực hay không.

Nếu không, hãy đào tạo lại mô hình bằng cách đưa vào các tập dữ liệu mới mà mô hình đưa ra kết quả sai.

Mô hình máy học AWS

Bây giờ, hãy xem một số mô hình cụ thể mà bạn có thể tận dụng trong đám mây Amazon.

Công nhận AWS

Nguồn: aws.amazon.com

Rekognition là một dịch vụ phân tích hình ảnh và video đa năng có thể sử dụng cho nhiều trường hợp sử dụng khác nhau, chẳng hạn như nhận dạng khuôn mặt, phát hiện đối tượng và nhận dạng văn bản. Hầu hết thời gian, bạn sẽ sử dụng mô hình Rekognition để tạo kết quả phát hiện thô ban đầu nhằm tạo thành một hồ dữ liệu gồm các điểm bất thường đã xác định.

Nó cung cấp một loạt các mô hình dựng sẵn mà bạn có thể sử dụng mà không cần đào tạo. Rekognition cũng cung cấp khả năng phân tích hình ảnh và video theo thời gian thực với độ chính xác cao và độ trễ thấp.

Dưới đây là một số trường hợp sử dụng điển hình trong đó Rekognition là một lựa chọn tốt để phát hiện sự bất thường:

  • Có trường hợp sử dụng cho mục đích chung để phát hiện sự bất thường, chẳng hạn như phát hiện sự bất thường trong hình ảnh hoặc video.
  • Thực hiện phát hiện bất thường thời gian thực.
  • Tích hợp mô hình phát hiện bất thường của bạn với các dịch vụ AWS như Amazon S3, Amazon Kinesis hoặc AWS Lambda.

Và đây là một số ví dụ cụ thể về sự bất thường mà bạn có thể phát hiện bằng Rekognition:

  • Sự bất thường trên khuôn mặt, chẳng hạn như phát hiện nét mặt hoặc cảm xúc nằm ngoài phạm vi bình thường.
  • Các đối tượng bị thiếu hoặc đặt sai vị trí trong một cảnh.
  • Các từ sai chính tả hoặc các mẫu văn bản bất thường.
  • Điều kiện ánh sáng bất thường hoặc các đối tượng bất ngờ trong một cảnh.
  • Nội dung không phù hợp hoặc xúc phạm trong hình ảnh hoặc video.
  • Thay đổi đột ngột trong chuyển động hoặc các kiểu chuyển động bất ngờ.
  Cách theo dõi hàng tồn kho bằng Google Trang tính

AWS Lookout cho tầm nhìn

Nguồn: aws.amazon.com

Lookout for Vision là một mô hình được thiết kế đặc biệt để phát hiện sự bất thường trong các quy trình công nghiệp, chẳng hạn như sản xuất và dây chuyền sản xuất. Nó thường yêu cầu một số mã tùy chỉnh tiền xử lý và hậu xử lý ảnh hoặc một số phần cắt cụ thể của ảnh, thường được thực hiện bằng ngôn ngữ lập trình Python. Hầu hết thời gian, nó chuyên về một số vấn đề rất đặc biệt trong hình.

Nó yêu cầu đào tạo tùy chỉnh trên tập dữ liệu hình ảnh bình thường và bất thường để tạo mô hình tùy chỉnh để phát hiện bất thường. Nó không quá tập trung vào thời gian thực; thay vào đó, nó được thiết kế để xử lý hàng loạt hình ảnh, tập trung vào độ chính xác và độ chính xác.

Dưới đây là một số trường hợp sử dụng điển hình trong đó Lookout for Vision là một lựa chọn tốt nếu bạn cần phát hiện:

  • Khiếm khuyết trong các sản phẩm được sản xuất hoặc xác định lỗi thiết bị trong dây chuyền sản xuất.
  • Một tập dữ liệu lớn về hình ảnh hoặc dữ liệu khác.
  • Bất thường thời gian thực trong một quy trình công nghiệp.
  • Tích hợp bất thường với các dịch vụ AWS khác, chẳng hạn như Amazon S3 hoặc AWS IoT.

Và đây là một số ví dụ cụ thể về sự bất thường mà bạn có thể phát hiện bằng cách sử dụng Lookout for Vision:

  • Các khiếm khuyết trong sản phẩm được sản xuất, chẳng hạn như vết trầy xước, vết lõm hoặc các khuyết điểm khác, có thể ảnh hưởng đến chất lượng của sản phẩm.
  • Lỗi thiết bị trong dây chuyền sản xuất, chẳng hạn như phát hiện máy móc bị hỏng hoặc trục trặc, có thể gây ra sự chậm trễ hoặc nguy hiểm về an toàn.
  • Các vấn đề kiểm soát chất lượng trong dây chuyền sản xuất bao gồm phát hiện các sản phẩm không đáp ứng các thông số kỹ thuật hoặc dung sai yêu cầu.
  • Các nguy cơ về an toàn trong dây chuyền sản xuất bao gồm việc phát hiện các đồ vật hoặc vật liệu có thể gây rủi ro cho công nhân hoặc thiết bị.
  • Sự bất thường trong quy trình sản xuất, chẳng hạn như phát hiện những thay đổi bất ngờ trong dòng nguyên liệu hoặc sản phẩm thông qua dây chuyền sản xuất.

AWS Sagemaker

Nguồn: aws.amazon.com

Sagemaker là một nền tảng được quản lý hoàn toàn để xây dựng, đào tạo và triển khai các mô hình máy học tùy chỉnh.

Đó là một giải pháp mạnh mẽ hơn nhiều. Trên thực tế, nó cung cấp một cách để kết nối và thực thi một số quy trình gồm nhiều bước thành một chuỗi công việc nối tiếp nhau, giống như AWS Step Functions có thể làm.

Tuy nhiên, do Sagemaker sử dụng các phiên bản EC2 đặc biệt để xử lý nên không có giới hạn 15 phút cho xử lý một tác vụ, như trong trường hợp các hàm AWS lambda trong AWS Step Functions.

Bạn cũng có thể thực hiện điều chỉnh mô hình tự động với Sagemaker, đây chắc chắn là một tính năng khiến nó trở thành một tùy chọn nổi bật. Cuối cùng, Sagemaker có thể dễ dàng triển khai mô hình vào môi trường sản xuất.

Dưới đây là một số trường hợp sử dụng điển hình trong đó SageMaker là một lựa chọn tốt để phát hiện sự bất thường:

  • Một trường hợp sử dụng cụ thể không có trong các mô hình hoặc API dựng sẵn và nếu bạn cần xây dựng một mô hình tùy chỉnh phù hợp với nhu cầu cụ thể của mình.
  • Nếu bạn có một tập dữ liệu lớn về hình ảnh hoặc dữ liệu khác. Các mô hình dựng sẵn yêu cầu một số quy trình xử lý trước trong những trường hợp như vậy, nhưng Sagemaker có thể thực hiện mà không cần xử lý trước.
  • Nếu bạn cần thực hiện phát hiện bất thường theo thời gian thực.
  • Nếu bạn cần tích hợp mô hình của mình với các dịch vụ AWS khác, chẳng hạn như Amazon S3, Amazon Kinesis hoặc AWS Lambda.
  Cách lưu các đối tượng PowerPoint dưới dạng ảnh

Và đây là một số phát hiện bất thường điển hình mà Sagemaker có khả năng thực hiện:

  • Phát hiện gian lận trong các giao dịch tài chính, chẳng hạn như các kiểu chi tiêu bất thường hoặc các giao dịch nằm ngoài phạm vi bình thường.
  • An ninh mạng trong lưu lượng mạng, chẳng hạn như kiểu truyền dữ liệu bất thường hoặc kết nối không mong muốn với máy chủ bên ngoài.
  • Chẩn đoán y tế trong hình ảnh y tế, chẳng hạn như phát hiện khối u.
  • Sự bất thường trong hoạt động của thiết bị, chẳng hạn như phát hiện những thay đổi về độ rung hoặc nhiệt độ.
  • Kiểm soát chất lượng trong quy trình sản xuất, chẳng hạn như phát hiện lỗi trong sản phẩm hoặc xác định sai lệch so với tiêu chuẩn chất lượng dự kiến.
  • Mô hình sử dụng năng lượng bất thường.

Cách kết hợp các mô hình vào kiến ​​trúc Serverless

Mô hình học máy được đào tạo là một dịch vụ đám mây không sử dụng bất kỳ máy chủ cụm nào trong nền; do đó, nó có thể dễ dàng được đưa vào một kiến ​​trúc serverless hiện có.

Quá trình tự động hóa được thực hiện thông qua các hàm lambda AWS, được kết nối thành một tác vụ gồm nhiều bước bên trong dịch vụ AWS Step Functions.

Thông thường, bạn cần phát hiện ban đầu ngay sau khi thu thập ảnh và tiền xử lý của chúng trên bộ chứa S3. Đó là nơi bạn sẽ tạo khả năng phát hiện dị thường nguyên tử trên các ảnh đầu vào và lưu kết quả vào hồ dữ liệu, ví dụ, được đại diện bởi cơ sở dữ liệu Athena.

Trong một số trường hợp, phát hiện ban đầu này là không đủ cho trường hợp sử dụng cụ thể của bạn. Bạn có thể cần một phát hiện khác, chi tiết hơn. Ví dụ: mô hình ban đầu (ví dụ: Nhận dạng) có thể phát hiện một số sự cố trên thiết bị, nhưng không thể xác định một cách đáng tin cậy loại sự cố đó là gì.

Đối với điều đó, bạn có thể cần một mô hình khác với các khả năng khác nhau. Trong trường hợp như vậy, bạn có thể chạy mô hình khác (ví dụ: Lookout for Vision) trên tập hợp con các ảnh mà mô hình ban đầu đã xác định được sự cố.

Đây cũng là một cách tốt để tiết kiệm một số chi phí, vì bạn không cần phải chạy mô hình thứ hai trên cả bộ ảnh. Thay vào đó, bạn chỉ chạy nó trên tập hợp con có ý nghĩa.

Các hàm AWS Lambda sẽ bao gồm tất cả quá trình xử lý như vậy bằng cách sử dụng mã Python hoặc Javascript bên trong. Nó chỉ phụ thuộc vào bản chất của các quy trình và số lượng hàm AWS lambda mà bạn sẽ cần đưa vào trong một luồng. Giới hạn 15 phút cho thời lượng tối đa của lệnh gọi lambda AWS sẽ xác định số bước mà một quy trình như vậy cần bao gồm.

Từ cuối cùng

Làm việc với các mô hình học máy trên đám mây là một công việc rất thú vị. Nếu bạn nhìn nó từ góc độ kỹ năng và công nghệ, bạn sẽ thấy rằng bạn cần phải có một nhóm với nhiều kỹ năng khác nhau.

Nhóm cần hiểu cách đào tạo một mô hình, có thể là mô hình được tạo sẵn hoặc được tạo từ đầu. Điều này có nghĩa là rất nhiều toán học hoặc đại số liên quan đến việc cân bằng giữa độ tin cậy và hiệu suất của kết quả.

Bạn cũng cần một số kỹ năng viết mã Python hoặc Javascript nâng cao, cơ sở dữ liệu và kỹ năng SQL. Và sau khi tất cả công việc nội dung được hoàn thành, bạn cần có kỹ năng DevOps để đưa nó vào một quy trình làm cho nó trở thành một công việc tự động sẵn sàng để triển khai và thực thi.

Xác định sự bất thường và đào tạo mô hình là một chuyện. Nhưng thật khó để tích hợp tất cả vào một nhóm chức năng có thể xử lý kết quả của các mô hình và lưu dữ liệu một cách hiệu quả và tự động để phục vụ chúng cho người dùng cuối.

Tiếp theo, hãy xem tất cả về nhận dạng khuôn mặt cho doanh nghiệp.

x