Rừng ngập mặn là một phần quan trọng của một hệ sinh thái lành mạnh, và các hoạt động của con người là một trong những nguyên nhân chính khiến chúng dần biến mất khỏi các đường bờ biển trên khắp thế giới. Sử dụng mô hình máy học (ML) để xác định các vùng rừng ngập mặn từ ảnh vệ tinh mang lại cho các nhà nghiên cứu một phương pháp hiệu quả để theo dõi kích thước của các khu rừng theo thời gian. Trong Phần 1 của loạt bài này, chúng tôi đã chỉ ra cách thu thập dữ liệu vệ tinh theo cách tự động và phân tích nó trong Xưởng sản xuất Amazon SageMaker với trực quan tương tác. Trong bài đăng này, chúng tôi hướng dẫn cách sử dụng Amazon SageMaker Tự động lái để tự động hóa quá trình xây dựng bộ phân loại rừng ngập mặn tùy chỉnh.
Đào tạo người mẫu với Autopilot
Autopilot cung cấp một cách cân bằng để xây dựng một số mô hình và chọn mô hình tốt nhất. Trong khi tạo ra nhiều kết hợp của các kỹ thuật tiền xử lý dữ liệu khác nhau và mô hình ML với nỗ lực tối thiểu, Autopilot cung cấp quyền kiểm soát hoàn toàn đối với các bước thành phần này cho nhà khoa học dữ liệu, nếu muốn.
Bạn có thể sử dụng Autopilot bằng một trong các AWS SDK (thông tin chi tiết có sẵn trong Hướng dẫn tham khảo API cho Autopilot) hoặc thông qua Studio. Chúng tôi sử dụng Autopilot trong giải pháp Studio của mình theo các bước được nêu trong phần này:
- Trên trang Trình khởi chạy Studio, hãy chọn dấu cộng cho Thử nghiệm Autopilot mới.
- Trong Kết nối dữ liệu của bạn, lựa chọn Tìm nhóm S3và nhập tên nhóm nơi bạn đã lưu giữ các tập dữ liệu đào tạo và kiểm tra.
- Trong Tên tệp tập dữ liệu, hãy nhập tên của tệp dữ liệu đào tạo bạn đã tạo trong Chuẩn bị dữ liệu đào tạo phần trong Phần 1.
- Trong Vị trí dữ liệu đầu ra (nhóm S3), hãy nhập cùng một tên nhóm mà bạn đã sử dụng ở bước 2.
- Trong Tên thư mục tập dữ liệu, hãy nhập tên thư mục bên dưới thùng mà bạn muốn Autopilot để lưu trữ các phần mềm.
- Trong Đầu vào S3 của bạn có phải là tệp kê khai không?, chọn tắt.
- Trong Mục tiêu, chọn nhãn.
- Trong Triển khai tự động, chọn tắt.
- Bên dưới Cài đặt nâng cao, Cho Loại vấn đề học máy, chọn Phân loại nhị phân.
- Trong Chỉ số mục tiêu, chọn AUC.
- Trong Chọn cách chạy thử nghiệm của bạn, chọn Không, chạy thử nghiệm để tạo một sổ ghi chép với các định nghĩa ứng viên.
- Chọn Tạo thử nghiệm.
Để biết thêm thông tin về cách tạo thử nghiệm, hãy tham khảo Tạo thử nghiệm Tự động lái của Amazon SageMakerCó thể mất khoảng 15 phút để chạy bước này. - Khi hoàn thành, hãy chọn Mở sổ ghi chép thế hệ ứng viên, mở một sổ ghi chép mới ở chế độ chỉ đọc.
- Chọn Nhập sổ ghi chép để làm cho sổ tay có thể chỉnh sửa.
- Đối với Hình ảnh, hãy chọn Khoa học dữ liệu.
- Trong Hạt nhân, chọn Python 3.
- Chọn Chọn.
Sổ ghi chép được tạo tự động này có giải thích chi tiết và cung cấp khả năng kiểm soát hoàn toàn đối với nhiệm vụ xây dựng mô hình thực tế cần tuân theo. Một phiên bản tùy chỉnh của máy tính xách tay, nơi một nhà phân loại được đào tạo bằng cách sử dụng các băng tần vệ tinh Landsat từ năm 2013, có sẵn trong kho mã dưới notebooks/mangrove-2013.ipynb
.
Khung xây dựng mô hình bao gồm hai phần: chuyển đổi tính năng như một phần của bước xử lý dữ liệu và tối ưu hóa siêu tham số (HPO) như một phần của bước lựa chọn mô hình. Tất cả các hiện vật cần thiết cho các nhiệm vụ này đã được tạo trong quá trình thử nghiệm Autopilot và được lưu trong Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3). Ô máy tính xách tay đầu tiên tải các đồ tạo tác đó từ Amazon S3 xuống cục bộ Amazon SageMaker hệ thống tệp để kiểm tra và bất kỳ sửa đổi cần thiết nào. Có hai thư mục: generated_module
và sagemaker_automl
, nơi lưu trữ tất cả các mô-đun Python và tập lệnh cần thiết để chạy sổ ghi chép. Các bước chuyển đổi tính năng khác nhau như nhập, chia tỷ lệ và PCA được lưu dưới dạng generated_modules/candidate_data_processors/dpp*.py.
Autopilot tạo ra ba mô hình khác nhau dựa trên XGBoost, người học tuyến tính và thuật toán perceptron (MLP) nhiều lớp. Một đường dẫn ứng viên bao gồm một trong các tùy chọn chuyển đổi tính năng, được gọi là data_transformer
và một thuật toán. Đường ống là một từ điển Python và có thể được định nghĩa như sau:
Trong ví dụ này, đường ống chuyển đổi dữ liệu đào tạo theo tập lệnh trong generated_modules/candidate_data_processors/dpp5.py
và xây dựng mô hình XGBoost. Đây là nơi Autopilot cung cấp quyền kiểm soát hoàn toàn cho nhà khoa học dữ liệu, họ có thể chọn các bước chuyển đổi tính năng và lựa chọn mô hình được tạo tự động hoặc xây dựng tổ hợp của riêng họ.
Bây giờ bạn có thể thêm đường dẫn vào một nhóm để Autopilot chạy thử nghiệm như sau:
Đây là một bước quan trọng trong đó bạn có thể quyết định chỉ giữ lại một nhóm nhỏ các ứng cử viên do Autopilot đề xuất, dựa trên kiến thức chuyên môn về chủ đề, để giảm tổng thời gian chạy. Hiện tại, hãy giữ lại tất cả các đề xuất Autopilot mà bạn có thể liệt kê như sau:
tên ứng viên | Thuật toán | Máy biến áp tính năng |
dpp0-xgboost | xgboost | dpp0.py |
dpp1-xgboost | xgboost | dpp1.py |
dpp2-linear-learning | người học tuyến tính | dpp2.py |
dpp3-xgboost | xgboost | dpp3.py |
dpp4-xgboost | xgboost | dpp4.py |
dpp5-xgboost | xgboost | dpp5.py |
dpp6-mlp | mlp | dpp6.py |
Thử nghiệm Autopilot đầy đủ được thực hiện trong hai phần. Đầu tiên, bạn cần chạy các công việc chuyển đổi dữ liệu:
Bước này sẽ hoàn thành trong khoảng 30 phút đối với tất cả các ứng viên, nếu bạn không thực hiện thêm sửa đổi nào đối với dpp*.py
các tập tin.
Bước tiếp theo là xây dựng bộ mô hình tốt nhất bằng cách điều chỉnh các siêu tham số cho các thuật toán tương ứng. Các siêu tham số thường được chia thành hai phần: tĩnh và điều chỉnh được. Các siêu tham số tĩnh không thay đổi trong suốt quá trình thử nghiệm đối với tất cả các ứng viên có cùng một thuật toán. Các siêu tham số này được chuyển đến thử nghiệm như một từ điển. Nếu bạn chọn mô hình XGBoost tốt nhất bằng cách tối đa hóa AUC từ ba vòng của sơ đồ xác thực chéo năm lần, từ điển sẽ giống như mã sau:
Đối với các siêu tham số có thể điều chỉnh, bạn cần chuyển một từ điển khác có phạm vi và kiểu chia tỷ lệ:
Bộ siêu tham số hoàn chỉnh có sẵn trong mangrove-2013.ipynb
máy tính xách tay.
Để tạo một thử nghiệm trong đó tất cả bảy ứng cử viên có thể được kiểm tra song song, hãy tạo một bộ điều chỉnh HPO đa thuật toán:
Các chỉ số mục tiêu được xác định độc lập cho từng thuật toán:
Việc thử tất cả các giá trị có thể có của siêu tham số cho tất cả các thử nghiệm là lãng phí; bạn có thể áp dụng chiến lược Bayes để tạo bộ chỉnh HPO:
Trong cài đặt mặc định, Autopilot chọn 250 công việc trong bộ chỉnh để chọn mô hình tốt nhất. Đối với trường hợp sử dụng này, chỉ cần thiết lập max_jobs=50
để tiết kiệm thời gian và tài nguyên mà không bị phạt đáng kể nào về việc chọn bộ siêu tham số tốt nhất. Cuối cùng, gửi công việc HPO như sau:
Quá trình này mất khoảng 80 phút trên các phiên bản ml.m5.4xlarge. Bạn có thể theo dõi tiến trình trên bảng điều khiển SageMaker bằng cách chọn Công việc điều chỉnh siêu tham số Dưới Hội thảo trong khung điều hướng.
Bạn có thể hình dung một loạt các thông tin hữu ích, bao gồm hiệu suất của từng ứng viên, bằng cách chọn tên của công việc đang thực hiện.
Cuối cùng, so sánh hiệu suất mô hình của các ứng cử viên tốt nhất như sau:
ứng cử viên | AUC | run_time (các) |
dpp6-mlp | 0.96008 | 2711.0 |
dpp4-xgboost | 0.95236 | 385.0 |
dpp3-xgboost | 0.95095 | 202.0 |
dpp4-xgboost | 0.95069 | 458.0 |
dpp3-xgboost | 0.95015 | 361.0 |
Mô hình hoạt động hàng đầu dựa trên MLP, mặc dù tốt hơn một chút so với các mô hình XGBoost với nhiều lựa chọn về các bước xử lý dữ liệu, nhưng cũng mất nhiều thời gian hơn để đào tạo. Bạn có thể tìm thấy các chi tiết quan trọng về đào tạo mô hình MLP, bao gồm sự kết hợp của các siêu tham số được sử dụng, như sau:
Tên công việc đào tạo | mangrove-2-notebook–211021-2016-012-500271c8 |
Đào TạoTình Trạng Công Việc | Hoàn thành |
Giá trị mục tiêu cuối cùng | 0.96008 |
Thời gian bắt đầu đào tạo | 2021-10-21 20:22:55+00:00 |
Đào tạoEndTime | 2021-10-21 21:08:06+00:00 |
Đào tạoThời gian đã trôi quaGiây | 2711 |
Đào tạoCông việcĐịnh nghĩaTên | dpp6-mlp |
bỏ học_prob | 0.415778 |
embed_size_factor | 0.849226 |
lớp | 256 |
tỷ lệ học | 0.00013862 |
mini_batch_size | 317 |
dạng kết nối | cho ăn |
trọng lượng_phân hủy | 1.29323e-12 |
Tạo một đường dẫn suy luận
Để tạo ra suy luận trên dữ liệu mới, bạn phải xây dựng một đường dẫn suy luận trên SageMaker để lưu trữ mô hình tốt nhất có thể được gọi sau này để tạo ra suy luận. Mô hình đường ống SageMaker yêu cầu ba vùng chứa làm thành phần của nó: biến đổi dữ liệu, thuật toán và chuyển đổi nhãn nghịch đảo (nếu các dự đoán số cần được ánh xạ tới các nhãn không phải số). Để ngắn gọn, chỉ một phần của mã bắt buộc được hiển thị trong đoạn mã sau; mã hoàn chỉnh có sẵn trong mangrove-2013.ipynb
máy tính xách tay:
Sau khi các vùng chứa mô hình được tạo, bạn có thể xây dựng và triển khai đường ống như sau:
Quá trình triển khai điểm cuối mất khoảng 10 phút để hoàn thành.
Nhận suy luận về tập dữ liệu thử nghiệm bằng cách sử dụng điểm cuối
Sau khi điểm cuối được triển khai, bạn có thể gọi nó với một khối lượng các tính năng B1 – B7 để phân loại từng pixel trong hình ảnh là rừng ngập mặn (1) hoặc khác (0):
Chi tiết đầy đủ về xử lý hậu xử lý các dự đoán của mô hình để đánh giá và vẽ biểu đồ có sẵn trong notebooks/model_performance.ipynb
.
Nhận suy luận trên tập dữ liệu thử nghiệm bằng cách sử dụng biến đổi hàng loạt
Bây giờ bạn đã tạo mô hình hoạt động tốt nhất với Autopilot, chúng ta có thể sử dụng mô hình để suy luận. Để có được suy luận trên các tập dữ liệu lớn, sẽ hiệu quả hơn nếu sử dụng biến đổi hàng loạt. Hãy tạo dự đoán trên toàn bộ tập dữ liệu (đào tạo và kiểm tra) và nối kết quả vào các tính năng, để chúng tôi có thể thực hiện phân tích sâu hơn, chẳng hạn như kiểm tra các dự đoán so với thực tế và sự phân bố các tính năng giữa các lớp được dự đoán.
Đầu tiên, chúng tôi tạo một tệp kê khai trong Amazon S3 trỏ đến các vị trí của dữ liệu đào tạo và kiểm tra từ các bước xử lý dữ liệu trước đó:
Bây giờ chúng ta có thể tạo một công việc chuyển đổi hàng loạt. Bởi vì tập dữ liệu kiểm tra và đào tạo đầu vào của chúng tôi có label
là cột cuối cùng, chúng ta cần bỏ nó trong quá trình suy luận. Để làm được điều đó, chúng tôi vượt qua InputFilter
trong DataProcessing
tranh luận. Mật mã "$[:-2]"
cho biết để bỏ cột cuối cùng. Kết quả dự đoán sau đó được kết hợp với dữ liệu nguồn để phân tích thêm.
Trong đoạn mã sau, chúng tôi xây dựng các đối số cho công việc chuyển đổi hàng loạt và sau đó chuyển đến create_transform_job
chức năng:
Bạn có thể theo dõi trạng thái của công việc trên bảng điều khiển SageMaker.
Hình dung hiệu suất mô hình
Giờ đây, bạn có thể hình dung hiệu suất của mô hình tốt nhất trên tập dữ liệu thử nghiệm, bao gồm các khu vực từ Ấn Độ, Myanmar, Cuba và Việt Nam, dưới dạng ma trận nhầm lẫn. Mô hình có giá trị thu hồi cao đối với các pixel đại diện cho rừng ngập mặn, nhưng chỉ có độ chính xác khoảng 75%. Độ chính xác của các pixel không phải rừng ngập mặn hoặc các pixel khác là 99% với độ thu hồi 85%. Bạn có thể điều chỉnh giới hạn xác suất của các dự đoán mô hình để điều chỉnh các giá trị tương ứng tùy thuộc vào trường hợp sử dụng cụ thể.
Cần lưu ý rằng kết quả là một sự cải thiện đáng kể so với mô hình smileCart tích hợp sẵn.
Trực quan hóa các dự đoán của mô hình
Cuối cùng, rất hữu ích khi quan sát hiệu suất của mô hình trên các vùng cụ thể trên bản đồ. Trong hình ảnh sau đây, khu vực rừng ngập mặn ở biên giới Ấn Độ-Bangladesh được mô tả bằng màu đỏ. Các điểm được lấy mẫu từ bản vá hình ảnh Landsat thuộc tập dữ liệu thử nghiệm được chồng lên vùng, trong đó mỗi điểm là một pixel mà mô hình xác định là đại diện cho rừng ngập mặn. Các điểm màu xanh lam được mô hình phân loại chính xác, trong khi các điểm màu đen thể hiện sai lầm của mô hình.
Hình ảnh sau đây chỉ hiển thị các điểm mà mô hình dự đoán không phải là rừng ngập mặn, với cách phối màu giống như ví dụ trước. Đường viền màu xám là một phần của bản vá Landsat không bao gồm bất kỳ rừng ngập mặn nào. Như thể hiện rõ ràng từ hình ảnh, mô hình không mắc bất kỳ sai lầm nào khi phân loại các điểm trên mặt nước, nhưng phải đối mặt với một thách thức khi phân biệt các điểm ảnh đại diện cho rừng ngập mặn với các điểm ảnh đại diện cho tán lá thông thường.
Hình ảnh sau đây cho thấy mô hình hoạt động trên vùng rừng ngập mặn Myanmar.
Trong hình ảnh sau đây, mô hình thực hiện công việc xác định các pixel rừng ngập mặn tốt hơn.
Làm sạch
Điểm cuối suy luận SageMaker tiếp tục phải chịu chi phí nếu vẫn chạy. Xóa điểm cuối như sau khi bạn hoàn tất:
Kết luận
Loạt bài đăng này đã cung cấp một khuôn khổ end-to-end cho các nhà khoa học dữ liệu để giải quyết các vấn đề về GIS. Phần 1 đã cho thấy quy trình ETL và một cách thuận tiện để tương tác trực quan với dữ liệu. Phần 2 đã trình bày cách sử dụng Autopilot để tự động hóa việc xây dựng bộ phân loại rừng ngập mặn tùy chỉnh.
Bạn có thể sử dụng khuôn khổ này để khám phá các tập dữ liệu vệ tinh mới có chứa một tập hợp các dải phong phú hơn hữu ích cho việc phân loại rừng ngập mặn và khám phá kỹ thuật tính năng bằng cách kết hợp kiến thức miền.
Về các tác giả
Andrei Ivanovic là sinh viên sắp tốt nghiệp Thạc sĩ Khoa học Máy tính tại Đại học Toronto và gần đây đã tốt nghiệp chương trình Khoa học Kỹ thuật tại Đại học Toronto, chuyên ngành Trí tuệ Máy với bằng Kỹ thuật viên Người máy / Cơ điện tử. Anh ấy quan tâm đến thị giác máy tính, học sâu và người máy. Anh ấy đã làm công việc được trình bày trong bài đăng này trong thời gian thực tập mùa hè tại Amazon.
David Đông là Nhà khoa học dữ liệu tại Amazon Web Services.
Arkajyoti Misra là Nhà khoa học dữ liệu tại Amazon LastMile Transportation. Anh đam mê ứng dụng kỹ thuật Thị giác máy tính để giải quyết các vấn đề giúp ích cho trái đất. Anh ấy thích làm việc với các tổ chức phi lợi nhuận và là thành viên sáng lập của ekipi.org.
- Coinsmart. Sàn giao dịch Bitcoin và tiền điện tử tốt nhất Châu Âu.
- Platoblockchain. Web3 Metaverse Intelligence. Khuếch đại kiến thức. TRUY CẬP MIỄN PHÍ.
- CryptoHawk. Radar Altcoin. Dùng thử miễn phí.
- Nguồn: https://aws.amazon.com/blogs/machine-learning/part-2-identify-mangrove-forests-using-satellite-image-features-using-amazon-sagemaker-studio-and-amazon-sagemaker- lái tự động /
- "
- 10
- 100
- a
- Giới thiệu
- Theo
- hoạt động
- thuật toán
- thuật toán
- Tất cả
- đàn bà gan dạ
- Amazon Web Services
- giữa
- phân tích
- phân tích
- phân tích
- Một
- Nộp đơn
- KHU VỰC
- đối số
- xung quanh
- tự động hóa
- Tự động
- tự động
- có sẵn
- AWS
- bởi vì
- BEST
- Đen
- thân hình
- biên giới
- xây dựng
- Xây dựng
- xây dựng
- được xây dựng trong
- ứng cử viên
- ứng cử viên
- trường hợp
- thách thức
- lựa chọn
- Chọn
- các lớp học
- phân loại
- phân loại
- mã
- Cột
- kết hợp
- kết hợp
- hoàn thành
- thành phần
- các thành phần
- máy tính
- Khoa học Máy tính
- nhầm lẫn
- An ủi
- Container
- liên tiếp
- điều khiển
- Tiện lợi
- tạo
- tạo ra
- tạo ra
- Tạo
- Cuba
- khách hàng
- dữ liệu
- xử lý dữ liệu
- nhà khoa học dữ liệu
- sâu
- Tùy
- triển khai
- triển khai
- triển khai
- chi tiết
- chi tiết
- ĐÃ LÀM
- khác nhau
- Giao diện
- phân phối
- Không
- miền
- Tải xuống
- Rơi
- suốt trong
- mỗi
- trái đất
- hệ sinh thái
- Hiệu quả
- hiệu quả
- nỗ lực
- Cuối cùng đến cuối
- Điểm cuối
- Kỹ Sư
- đăng ký hạng mục thi
- đánh giá
- ví dụ
- thử nghiệm
- chuyên môn
- khám phá
- khuôn mặt
- Thời trang
- Đặc tính
- Tính năng
- Cuối cùng
- Tên
- theo
- tiếp theo
- sau
- thành lập
- Khung
- từ
- Full
- chức năng
- xa hơn
- tạo ra
- tạo ra
- thế hệ
- tốt nghiệp
- màu xám
- hướng dẫn
- cao
- giúp
- Cao
- Độ đáng tin của
- Hướng dẫn
- HTTPS
- Nhân loại
- xác định
- xác định
- hình ảnh
- quan trọng
- cải thiện
- bao gồm
- Bao gồm
- độc lập
- Ấn Độ
- thông tin
- đầu vào
- ví dụ
- Sự thông minh
- tương tác
- quan tâm
- IT
- Việc làm
- việc làm
- gia nhập
- Giữ
- kiến thức
- nổi tiếng
- nhãn
- Nhãn
- lớn
- học tập
- Dòng
- Danh sách
- địa phương
- địa điểm thư viện nào
- . Các địa điểm
- máy
- học máy
- chính
- làm cho
- bản đồ
- thạc sĩ
- Matrix
- chất
- hội viên
- Metrics
- sai lầm
- ML
- kiểu mẫu
- mô hình
- Màn Hình
- chi tiết
- nhiều
- Myanmar
- THÔNG TIN
- cần thiết
- tiếp theo
- phi lợi nhuận
- máy tính xách tay
- mở ra
- tối ưu hóa
- Các lựa chọn
- tổ chức
- Nền tảng khác
- riêng
- một phần
- riêng
- đam mê
- Vá
- hiệu suất
- biểu diễn
- biểu diễn
- phi công
- Điểm
- điểm
- hồ bơi
- có thể
- bài viết
- Dự đoán
- trước
- Vấn đề
- vấn đề
- quá trình
- xử lý
- chương trình
- cung cấp
- cung cấp
- lý do
- gần đây
- giảm
- khu
- đều đặn
- vẫn
- kho
- đại diện
- đại diện
- yêu cầu
- cần phải
- đòi hỏi
- nhà nghiên cứu
- Thông tin
- Kết quả
- robotics
- Vai trò
- vòng
- chạy
- chạy
- tương tự
- vệ tinh
- Lưu
- mở rộng quy mô
- Đề án
- Khoa học
- Nhà khoa học
- các nhà khoa học
- lựa chọn
- Loạt Sách
- DỊCH VỤ
- định
- thiết lập
- một số
- Chia sẻ
- hiển thị
- thể hiện
- đăng ký
- có ý nghĩa
- Đơn giản
- Kích thước máy
- So
- rắn
- giải pháp
- động SOLVE
- riêng
- đứng
- Trạng thái
- là gắn
- hàng
- Chiến lược
- Sinh viên
- phòng thu
- Tiêu đề
- mùa hè
- hệ thống
- nhiệm vụ
- kỹ thuật
- về
- thử nghiệm
- Sản phẩm
- Nguồn
- thế giới
- số ba
- Thông qua
- khắp
- thời gian
- hàng đầu
- top 5
- toronto
- Hội thảo
- Chuyển đổi
- Chuyển đổi
- biến đổi
- giao thông vận tải
- Dưới
- trường đại học
- sử dụng
- thường
- xác nhận
- giá trị
- khác nhau
- phiên bản
- tầm nhìn
- hình dung
- Nước
- web
- các dịch vụ web
- trong khi
- CHÚNG TÔI LÀ
- không có
- Công việc
- thế giới
- giá trị
- X
- trên màn hình