Penulis: Sergey Lukyanchikov, Sales Engineer di InterSystems
Memperbaiki terminologi
Robot tidak diharapkan berukuran besar atau humanoid, atau bahkan material (berbeda pendapat dengan
Wikipedia , meskipun yang kedua melembutkan definisi awal dalam satu paragraf dan mengakui bentuk virtual robot). Robot adalah otomatisasi, dari sudut pandang algoritmik, otomasi untuk pelaksanaan tugas konkret (algoritmik) otonom. Detektor cahaya yang memicu lampu jalan di malam hari adalah robot. Perangkat lunak email yang memisahkan email menjadi "eksternal" dan "internal" juga merupakan robot.
Kecerdasan buatan (dalam arti yang diterapkan dan sempit,
Wikipedia menafsirkannya secara berbeda lagi) adalah algoritma untuk mengekstraksi dependensi dari data. Ia tidak akan menjalankan tugas apa pun dengan sendirinya, untuk itu orang perlu mengimplementasikannya sebagai proses analitik konkret (input data, plus model, plus data output, plus kontrol proses). Proses analitik yang bertindak sebagai "pembawa kecerdasan buatan" dapat diluncurkan oleh manusia atau robot. Itu bisa dihentikan oleh salah satu dari keduanya juga. Dan dikelola oleh salah satu dari mereka juga.
Interaksi dengan lingkungan
Kecerdasan buatan membutuhkan data yang cocok untuk analisis. Ketika seorang analis mulai mengembangkan proses analitik, data untuk model disiapkan oleh analis sendiri. Biasanya, ia membangun dataset yang memiliki volume dan fitur yang cukup untuk digunakan untuk pelatihan dan pengujian model. Setelah akurasi (dan dalam kasus yang lebih jarang, "stabilitas lokal" dalam waktu) dari hasil yang diperoleh menjadi memuaskan, seorang analis biasanya menganggap pekerjaannya telah selesai. Apakah dia benar Pada kenyataannya, pekerjaan itu hanya setengah jadi. Tetap untuk mengamankan "berjalan tanpa gangguan dan efisien" dari proses analitik - dan di situlah analis kami mungkin mengalami kesulitan.
Alat yang digunakan untuk mengembangkan kecerdasan buatan dan mekanisme pembelajaran mesin, kecuali untuk beberapa kasus paling sederhana, tidak cocok untuk interaksi yang efisien dengan lingkungan eksternal. Misalnya, kita dapat (untuk jangka waktu singkat) menggunakan Python untuk membaca dan mengubah data sensor dari proses produksi. Tapi Python tidak akan menjadi alat yang tepat untuk memantau situasi secara keseluruhan dan mengalihkan kendali di antara beberapa proses produksi, meningkatkan sumber daya komputasi yang sesuai naik dan turun, menganalisis dan memperlakukan semua jenis "pengecualian" (misalnya, tidak tersedianya sumber data, kegagalan infrastruktur, masalah interaksi pengguna, dll.). Untuk melakukan itu kita akan memerlukan platform manajemen dan integrasi data. Dan semakin dimuat, semakin variatif akan menjadi proses analitik kami, semakin tinggi akan menetapkan bar harapan kami dari integrasi platform dan komponen "DBMS". Seorang analis yang dibesarkan di bahasa scripting dan lingkungan pengembangan tradisional untuk membangun model (termasuk utilitas seperti "notebook") akan menghadapi ketidakmungkinan dekat untuk mengamankan proses analitisnya sebuah implementasi produktif yang efisien.
Kemampuan beradaptasi dan adaptif
Perubahan lingkungan memanifestasikan dirinya dalam berbagai cara. Dalam beberapa kasus, akan mengubah esensi dan sifat dari hal-hal yang dikelola oleh kecerdasan buatan (misalnya, masuk oleh suatu perusahaan ke bidang bisnis baru, persyaratan yang diberlakukan oleh regulator nasional dan internasional, evolusi preferensi pelanggan yang relevan untuk perusahaan, dll.). Dalam kasus lain - tanda tangan informasi dari data yang berasal dari lingkungan eksternal akan menjadi berbeda (misalnya, peralatan baru dengan sensor baru, lebih banyak saluran transmisi data berkinerja, ketersediaan teknologi "pelabelan" data baru, dll.).
Dapatkah proses analitik "menemukan kembali dirinya" ketika struktur lingkungan eksternal berubah? Mari kita sederhanakan pertanyaannya: seberapa mudahkah menyesuaikan proses analitik jika struktur lingkungan eksternal berubah? Berdasarkan pengalaman kami, jawaban berikut ini sederhana dan menyedihkan: dalam implementasi yang paling dikenal (bukan oleh kami!) Paling tidak diperlukan untuk menulis ulang proses analitik, dan kemungkinan besar menulis ulang AI yang dikandungnya. Ya, penulisan ulang ujung-ke-ujung mungkin bukan keputusan akhir, tetapi melakukan pemrograman untuk menambahkan sesuatu yang mencerminkan realitas baru atau mengubah "bagian pemodelan" mungkin memang diperlukan. Dan itu bisa berarti overhead yang terlarang - terutama jika perubahan lingkungan sering terjadi.
Agensi: batas otonomi?
Pembaca mungkin telah memperhatikan bahwa kita melanjutkan ke arah realitas yang semakin kompleks yang diusulkan untuk kecerdasan buatan. Sambil mencatat kemungkinan "konsekuensi sisi instrumen". Dengan harapan agar kita akhirnya bisa memberikan respons terhadap tantangan yang muncul.
Kami sekarang mendekati kebutuhan untuk melengkapi proses analitik dengan tingkat otonomi sehingga dapat mengatasi tidak hanya perubahan lingkungan, tetapi juga dengan ketidakpastian negaranya. Tidak ada referensi ke sifat kuantum lingkungan yang dimaksudkan di sini (kami akan membahasnya di salah satu publikasi kami selanjutnya), kami hanya mempertimbangkan probabilitas untuk proses analitik untuk menghadapi keadaan yang diharapkan pada saat yang diharapkan dalam "volume" yang diharapkan. Sebagai contoh: proses "berpikir" bahwa ia akan berhasil menyelesaikan pelatihan model sebelum kedatangan data baru untuk menerapkan model, tetapi "gagal" untuk menyelesaikannya (misalnya, karena beberapa alasan obyektif, sampel pelatihan mengandung lebih banyak catatan dari biasanya). Contoh lain: tim pelabelan telah menambahkan sejumlah pers baru dalam proses, model vektorisasi telah dilatih menggunakan materi baru itu, sementara jaringan saraf masih menggunakan vektorisasi sebelumnya dan memperlakukan sebagai "kebisingan" beberapa informasi yang sangat relevan. Pengalaman kami menunjukkan bahwa mengatasi situasi seperti itu membutuhkan pemisahan apa yang sebelumnya digunakan untuk menjadi proses analitik tunggal dalam beberapa komponen otonom dan menciptakan untuk masing-masing agen yang dihasilkan memproses "proyeksi buffered" dari lingkungan. Mari kita sebut aksi ini (selamat tinggal, Wikipedia) sebagai proses analisis. Dan mari kita sebut agensi kualitas yang diperoleh oleh proses analitis (atau lebih tepatnya ke sistem proses analitis) karena agenting.
Tugas untuk robot
Pada titik ini, kami akan mencoba untuk membuat tugas yang membutuhkan AI robot dengan semua kualitas yang disebutkan di atas. Tidak akan butuh perjalanan panjang untuk mendapatkan ide, terutama karena banyaknya kasus dan solusi yang sangat menarik untuk kasus-kasus yang dipublikasikan di Internet - kami hanya akan menggunakan kembali salah satu dari kasus / solusi tersebut (untuk mendapatkan keduanya tugas dan rumusan solusi). Skenario yang kami pilih adalah tentang klasifikasi posting ("tweet") di jejaring sosial Twitter, berdasarkan pada sentimen mereka. Untuk melatih model, kami memiliki sampel tweet "berlabel" yang agak besar (yaitu dengan ditentukannya sentimen), sementara klasifikasi akan dilakukan pada tweet "tidak berlabel" (yaitu tanpa ditentukan oleh sentimen):
Gambar 1 Formulasi tugas klasifikasi teks berbasis sentimen (analisis sentimen)Suatu pendekatan untuk menciptakan model-model matematika yang dapat belajar dari teks-teks berlabel dan mengklasifikasikan teks-teks yang tidak berlabel dengan sentimen yang tidak diketahui, disajikan dalam sebuah
contoh bagus yang diterbitkan di Web.
Data untuk skenario kami telah disediakan dengan baik dari Web.
Dengan semua hal di atas, kita bisa mulai “merakit robot” - namun, kami lebih suka menyulitkan tugas klasik dengan menambahkan kondisi: data berlabel dan tidak berlabel dimasukkan ke proses analitik sebagai file ukuran standar sebagai proses “Mengkonsumsi” file yang sudah diumpankan. Oleh karena itu, robot kami akan perlu mulai beroperasi pada volume minimal data pelatihan dan terus meningkatkan akurasi klasifikasi dengan mengulangi pelatihan model pada volume data yang tumbuh secara bertahap.
Ke bengkel InterSystems
Kami akan menunjukkan, dengan mengambil skenario yang baru saja dirumuskan sebagai contoh, bahwa InterSystems IRIS dan ML Toolkit, satu set ekstensi, dapat membuat robot kecerdasan buatan. Dan capai interaksi yang efisien dengan lingkungan eksternal untuk proses analitik yang kami buat, sambil menjaganya agar tetap adaptif, adaptif, dan agen ("tiga A").
Mari kita mulai dengan hak pilihan. Kami menyebarkan empat proses bisnis di platform:
Gambar 2 Konfigurasi sistem proses bisnis berbasis agen dengan komponen untuk interaksi dengan Python- GENERATOR - seperti file yang dihasilkan sebelumnya dikonsumsi oleh proses lain, menghasilkan file baru dengan data input (berlabel - tweet positif dan negatif - serta tweet tidak berlabel)
- BUFFER - karena catatan yang sudah disangga dikonsumsi oleh proses lain, membaca catatan baru dari file yang dibuat oleh GENERATOR dan menghapus file setelah membaca catatan dari mereka
- ANALYZER - mengkonsumsi catatan dari buffer yang tidak berlabel dan menerapkan RNN yang terlatih (jaringan saraf berulang), mentransfer catatan "yang diterapkan" dengan masing-masing nilai "probabilitas untuk menjadi positif" yang ditambahkan ke mereka, ke buffer pemantauan; mengkonsumsi catatan dari buffer berlabel (positif dan negatif) dan melatih jaringan saraf berdasarkan mereka
- MONITOR - mengkonsumsi catatan yang diproses dan ditransfer ke buffernya oleh ANALYZER, mengevaluasi metrik kesalahan klasifikasi yang ditunjukkan oleh jaringan saraf setelah pelatihan terakhir, dan memicu pelatihan baru oleh ANALYZER
Sistem proses berbasis agen kami dapat digambarkan sebagai berikut:
Gambar 3 Aliran data dalam sistem berbasis agenSemua proses dalam sistem kami berfungsi secara independen satu sama lain tetapi mendengarkan sinyal satu sama lain. Misalnya, sinyal untuk proses GENERATOR untuk mulai membuat file baru dengan catatan adalah penghapusan file sebelumnya oleh proses BUFFER.
Sekarang mari kita lihat adaptasi. Adaptasi proses analitik dalam contoh kami diimplementasikan melalui "enkapsulasi" AI sebagai komponen yang independen dari logika proses pembawa dan yang fungsi utamanya - pelatihan dan prediksi - diisolasi satu sama lain:
Gambar 4 Isolasi fungsi utama AI dalam proses analitik - pelatihan dan prediksi menggunakan model matematikaKarena fragmen proses ANALYZER yang dikutip di atas adalah bagian dari "loop tanpa akhir" (yang dipicu pada proses startup dan berfungsi sampai seluruh sistem berbasis agen dimatikan), dan karena fungsi AI dieksekusi secara bersamaan, proses ini mampu mengadaptasi penggunaan AI untuk situasi: model pelatihan jika perlu, memprediksi berdasarkan versi yang tersedia dari model yang terlatih, jika tidak. Kebutuhan untuk melatih model ditandai oleh proses MONITOR adaptif yang berfungsi secara independen dari proses ANALYZER dan menerapkan kriteria untuk memperkirakan akurasi model yang dilatih oleh ANALYZER:
Gambar 5 Pengakuan jenis model dan aplikasi metrik akurasi masing-masing oleh proses MONITORKami melanjutkan dengan kemampuan beradaptasi. Proses analitik dalam InterSystems IRIS adalah proses bisnis yang memiliki representasi grafis atau XML dalam bentuk urutan langkah-langkah. Langkah-langkah pada gilirannya dapat berupa urutan langkah-langkah lain, loop, pemeriksaan kondisi dan kontrol proses lainnya. Langkah-langkahnya dapat mengeksekusi kode atau mengirimkan informasi (bisa berupa kode juga) untuk perawatan oleh proses lain dan sistem eksternal.
Jika ada kebutuhan untuk mengubah proses analitis, kami memiliki kemungkinan untuk melakukan itu baik dalam editor grafis atau dalam IDE. Mengubah proses analitik dalam editor grafis memungkinkan mengadaptasi logika proses tanpa memprogram:
Gambar 6 proses ANALYZER di editor grafis dengan menu terbuka untuk menambahkan kontrol prosesAkhirnya, interaksi dengan lingkungan. Dalam kasus kami, elemen paling penting dari lingkungan adalah Python toolset matematika. Untuk interaksi dengan Python dan R, ekstensi fungsional yang sesuai dikembangkan -
Python Gateway dan
R Gateway . Memungkinkan interaksi yang nyaman dengan perangkat konkret adalah fungsi utama mereka. Kami sudah dapat melihat komponen untuk berinteraksi dengan Python dalam konfigurasi sistem berbasis agen kami. Kami telah menunjukkan bahwa proses bisnis yang mengandung AI diimplementasikan menggunakan bahasa Python, dapat berinteraksi dengan Python.
Proses ANALYZER, misalnya, menjalankan pelatihan model dan fungsi prediksi yang diterapkan dalam InterSystems IRIS menggunakan bahasa Python, seperti yang ditunjukkan di bawah ini:
Gambar 7 Model fungsi pelatihan diimplementasikan dalam proses ANALYZER di InterSystems IRIS menggunakan PythonSetiap langkah dalam proses ini bertanggung jawab untuk interaksi tertentu dengan Python: transfer data input dari InterSystems konteks IRIS ke konteks Python, transfer kode untuk dieksekusi ke Python, pengembalian data output dari konteks Python ke InterSystems konteks IRIS .
Jenis interaksi yang paling sering digunakan dalam contoh kami adalah transfer kode untuk dieksekusi dengan Python:
Gambar 8 Kode Python yang digunakan dalam proses ANALYZER di InterSystems IRIS dikirim untuk dieksekusi ke PythonDalam beberapa interaksi ada pengembalian data output dari konteks Python ke konteks IRIS InterSystems:
Gambar 9 Jejak visual dari sesi proses ANALYZER dengan preview output yang dikembalikan oleh Python di salah satu langkah prosesMeluncurkan robot
Meluncurkan robot di sini di artikel ini? Betapa tidak, di sini adalah
rekaman dari webinar kami di mana (di samping cerita AI menarik lainnya yang relevan untuk robotisasi!) Contoh yang dibahas dalam artikel kami didemokan. Sayangnya, waktu webinar selalu terbatas, dan kami masih lebih suka menampilkan karya kami secara ilustratif meskipun sesingkat mungkin - dan oleh karena itu kami berbagi di bawah ini gambaran yang lebih lengkap dari output yang dihasilkan (7 pelatihan berjalan, termasuk pelatihan awal, bukan hanya 3 di webinar):
Gambar 10 Robot mencapai AUC stabil di atas 0,8 pada prediksiHasil ini sesuai dengan harapan intuitif kami: karena set data pelatihan diisi dengan tweet positif dan negatif "berlabel", keakuratan model klasifikasi kami meningkat (ini dibuktikan dengan peningkatan bertahap nilai-nilai AUC yang ditunjukkan pada prediksi).
Kesimpulan apa yang bisa kita buat di akhir artikel:
• InterSystems IRIS adalah platform yang kuat untuk robotisasi proses yang melibatkan kecerdasan buatan
• Kecerdasan buatan dapat diimplementasikan di lingkungan eksternal (misalnya, Python atau R dengan modulnya yang berisi algoritma siap pakai) dan dalam platform IRIS InterSystems (menggunakan perpustakaan fungsi asli atau dengan menulis algoritma dalam bahasa Python dan R). InterSystems IRIS mengamankan interaksi dengan AI toolsets eksternal yang memungkinkan untuk menggabungkan kemampuan mereka dengan fungsionalitas aslinya
• InterSystems IRIS memobilisasikan AI dengan menerapkan "tiga A": proses bisnis yang adaptif, adaptif, dan agen (atau proses analitik)
• Antar Sistem IRIS mengoperasikan AI eksternal (Python, R) melalui kit interaksi khusus: transfer / pengembalian data, transfer kode untuk dieksekusi, dll. Satu proses analitik dapat berinteraksi dengan beberapa perangkat matematika
• InterSystems IRIS mengkonsolidasikan data input dan output pemodelan platform tunggal, mempertahankan historisisasi dan versi perhitungan
• Berkat InterSystems IRIS, kecerdasan buatan dapat digunakan sebagai mekanisme analitik khusus, atau dibangun di OLTP dan solusi integrasi
Bagi mereka yang telah membaca artikel ini dan tertarik dengan kemampuan InterSystems IRIS sebagai platform untuk mengembangkan dan menggunakan mesin pembelajaran dan mekanisme kecerdasan buatan, kami mengusulkan diskusi lebih lanjut tentang skenario potensial yang relevan dengan perusahaan Anda, dan definisi kolaboratif dari langkah selanjutnya. Email kontak tim ahli AI / ML kami adalah
MLToolkit@intersystems.com .