InterSistem Robotika Kecerdasan Buatan IRIS

Diposting oleh Sergey Lukyanchikov, Konsultan Engineer, InterSystems

Setuju dengan terminologi


Robot tidak harus besar, humanoid, atau pada dasarnya material (ke puncak Wikipedia , yang, setelah beberapa paragraf melembutkan kata-kata awal dan memungkinkan robot menjadi tidak material). Robot adalah otomat dalam arti algoritmik, otomat untuk solusi otonom (algoritmik) dari beberapa masalah. Detektor cahaya yang menyalakan lampu di malam hari adalah robot. Parsing email ke klien email "eksternal" dan "internal" - juga.

Kecerdasan buatan (dalam arti sempit, Wikipedia tidak membagikannya lagi) adalah algoritma untuk mengekstraksi dependensi dari data. Ini tidak akan menyelesaikan masalah dengan sendirinya, karena ini pertama-tama harus diimplementasikan dalam bentuk proses analitis khusus (input data, model, data output, kontrol proses). Proses analitis yang bertindak sebagai "pembawa kecerdasan buatan" dapat dimulai oleh seseorang, dapat dimulai oleh robot. Dan berhenti juga, salah satunya. Dan kelola juga.

Interaksi dengan lingkungan


Selain itu, kecerdasan buatan membutuhkan data, dalam bentuk yang sesuai untuk analisis. Ketika analis mulai mengembangkan proses analitis, data disiapkan untuk model oleh analis sendiri. Sebagai aturan, set data yang cukup dalam volume dan ruang lingkup ("dataset") dibuat di mana model dilatih dan diuji. Setelah memperoleh hasil yang memuaskan dalam keakuratan (dan, dalam kasus yang lebih jarang, "stabil secara lokal" pada waktunya), seorang analis biasanya menganggap pekerjaannya telah selesai. Tapi benarkah? Padahal, ini baru setengah pertempuran. Sekarang perlu untuk memastikan "operasi yang tidak terputus dan efisien" dari proses analitis - dan analis mungkin mengalami kesulitan dengan ini.

Alat yang digunakan untuk mengembangkan mekanisme kecerdasan buatan dan pembelajaran mesin, kecuali dalam kasus paling sederhana, tidak cocok untuk interaksi produktif dengan lingkungan eksternal. Yaitu Mungkin dimungkinkan untuk memaksa, misalnya, Python untuk membaca dan mengubah data dari sensor dalam proses produksi (setidaknya untuk waktu yang singkat). Tetapi beralih di antara beberapa proses produksi dan manajemen, tergantung pada situasinya, meningkatkan daya komputasi yang sesuai, menangani semua jenis "pengecualian" (tidak dapat diaksesnya salah satu sumber data, kegagalan infrastruktur, masalah interaksi pengguna, dll.) - ini tidak dimaksudkan untuk Python . Ini membutuhkan manajemen data dan platform integrasi. Dan semakin dimuat, semakin bervariasi proses analitik kami, semakin tinggi akan menjadi bar persyaratan untuk integrasi dan komponen solusi "sub-komponen". Analis, yang tertarik pada mekanisme AI, mencoba menerapkan proses analitis melalui bahasa scripting dari lingkungan pemodelan yang biasa (dan utilitas dikembangkan "untuknya", seperti "laptop"), dihadapkan pada ketidakmampuan untuk menyediakan proses analitiknya dengan penggunaan produktif penuh.

Adaptasi dan adaptasi


Keragaman lingkungan memanifestasikan dirinya dalam berbagai cara. Dalam beberapa kasus, esensi dan sifat fenomena yang dikendalikan oleh kecerdasan buatan akan berubah (memasukkan perusahaan ke bidang bisnis baru, persyaratan regulator nasional dan internasional, evolusi preferensi konsumen terhadap produk perusahaan, dll.). Di negara lain, sifat data yang berasal dari lingkungan (peralatan baru dengan sensor baru, saluran transmisi data yang lebih efisien, ketersediaan teknologi baru untuk "menandai" data, dll.).

Dapatkah proses analitis "membangun kembali dirinya sendiri" ketika mengubah struktur lingkungan? Untuk menyederhanakan pertanyaan: seberapa mudah membangun kembali proses analitis ketika mengubah struktur lingkungan? Dari pengamatan kami, jawabannya sederhana dan menyedihkan: di sebagian besar implementasi (bukan milik kami!) Dikenal oleh kami, kami harus menulis ulang setidaknya proses analitis - dan seringkali AI yang terkandung di dalamnya. Mungkin tidak secara harfiah dari "entri untuk keluar" untuk menulis ulang, tetapi Anda harus menambahkan sesuatu ke pemrograman untuk memproses realitas baru, mengubah logika internal dari "proses penerapan model" itu sendiri, dll. Dan ini dapat menghasilkan bisnis yang sangat mahal - terutama jika lingkungan berubah secara dinamis.

Agensi: batas otonomi?


Seperti yang mungkin telah diperhatikan oleh pembaca, kami bergerak ke arah peningkatan kompleksitas realitas yang ditawarkan ke perhatian kecerdasan buatan. Dan kami menandai kemungkinan konsekuensi untuk "bagian instrumental". Dengan harapan pada akhirnya kita bisa menemukan jawaban untuk semua tantangan yang muncul.

Kami mendekati kebutuhan untuk menyediakan proses analitis dengan tingkat otonomi yang sedemikian rupa sehingga dapat mengatasi tidak hanya variabilitas lingkungan, tetapi juga dengan ketidakpastian negaranya. Ini bukan tentang sifat kuantum lingkungan (walaupun kita akan membicarakan hal ini dalam salah satu publikasi berikut), kita hanya berbicara tentang kemungkinan memperoleh keadaan yang diharapkan oleh proses analitik pada waktu yang diharapkan dan dalam "volume" yang diharapkan. Sebagai contoh: proses "berpikir" bahwa ia akan mengelola dengan pelatihan model berikutnya sampai data baru untuk penerapan model tiba, tetapi tidak "mengelola" (karena alasan obyektif, lebih banyak catatan memasuki set pelatihan daripada biasanya dan pelatihan model tertunda). Atau yang lain: kelompok markup menambahkan pers baru ke proses, model vektorisasi telah dilatih tentang materi tekstual baru, dan jaringan saraf masih bekerja pada vektorisasi lama dan mengirimkan informasi baru yang sangat menarik ke "memo". Untuk mengatasi situasi seperti itu, seperti yang ditunjukkan oleh praktik kami, Anda hanya dapat membagi proses analisis yang sebelumnya disatukan menjadi beberapa komponen yang bekerja secara independen dan membuat "proyeksi penyangga" Anda sendiri dari lingkungan untuk setiap proses agen yang diterima. Tindakan ini (selamat tinggal, Wikipedia) akan disebut agenisasi dari proses analitis. Dan kualitas yang dikomunikasikan oleh agensi ke proses analitis (sebagai aturan, untuk seluruh sistem yang terdiri dari beberapa proses sekaligus) disebut agensi.

Kami mengatur tugas untuk robot


Mari kita coba memunculkan masalah seperti itu, untuk solusi yang diperlukan robot AI dengan semua properti di atas. Kami tidak harus jauh di belakang ide tersebut, karena banyak kasus menarik dan solusi untuknya telah dipublikasikan di Internet - kami akan menggunakan salah satu dari "solusi kasus" ini (baik untuk pernyataan masalah dan untuk solusi dalam hal kecerdasan buatan). Tugas pilihan kami akan direduksi menjadi klasifikasi pernyataan di jejaring sosial Twitter ("tweet") menjadi "negatif" dan "positif" dalam hal pewarnaan emosional mereka. Untuk melatih para model, kita akan memiliki sampel tweet "ditandai" yang cukup besar (yaitu, dengan pewarnaan emosional yang telah ditentukan), dan kita perlu mengklasifikasikan tweet tersebut "tanpa tanda" (yaitu, dengan pewarnaan emosional yang tidak ditentukan):

gambar
Gambar 1 Pernyataan masalah untuk klasifikasi teks dengan pewarnaan emosional (analisis sentimen bahasa Inggris)

Pendekatan untuk menciptakan model matematika yang mampu belajar pada teks yang ditandai dan kemudian mengklasifikasikan teks dengan pewarnaan emosional yang tidak terbatas dirumuskan dalam contoh yang cukup terkenal yang diterbitkan di Internet oleh S. Smetanin.

Data untuk tugas-tugas kelas ini dikumpulkan, diproses, dan diterbitkan oleh Yu. Rubtsova.

Dan mengenai hal ini kita dapat mulai "merakit robot" - tetapi kita akan sedikit merumitkan pernyataan klasik dengan satu syarat: data mark-up dan data yang tidak dialokasikan disediakan untuk proses analitik dalam bentuk file ukuran standar karena proses "mengkonsumsi" file yang sudah disediakan. Dengan demikian, robot kami akan perlu mulai bekerja pada volume minimum data pelatihan, terus-menerus meningkatkan akurasi klasifikasi dengan mengulangi pelatihan model pada peningkatan volume data pelatihan.

Kami pergi ke bengkel InterSystems


Mari kita tunjukkan dengan contoh tugas yang baru saja dirumuskan oleh kita bagaimana membuat robot kecerdasan buatan menggunakan platform IRIS InterSystems dan satu set ekstensi untuknya yang disebut ML Toolkit. Pada saat yang sama, memastikan bahwa proses analitik yang kami buat dapat berinteraksi secara produktif dengan lingkungan, dapat beradaptasi, adaptif, dan agen ("tiga A").

Mari kita mulai dengan agensi. Mari kita tempatkan empat proses bisnis di platform:

gambar
Gambar 2 Konfigurasi sistem agen proses bisnis dengan komponen untuk berinteraksi dengan Python

  • GENERATOR ("generator") - karena file dikonsumsi oleh proses lain, ia membuat file baru dengan data input (ditandai sebagai "positif" dan "negatif" - tweet, dan tweet dengan pewarnaan emosional yang tidak terbatas)
  • BUFFER ("buffer") - karena catatan dikonsumsi oleh proses lain, membaca catatan baru dari file yang dibuat oleh generator, dan menghapus file-file ini setelah membaca catatan
  • ANALYZER ("analyzer") - entri yang memakan dari buffer tweet tidak terbatas, menerapkan jaringan saraf convolutional terlatih untuk entri ini dan menempatkan entri yang dihasilkan dengan "probabilitas positif" yang dihitung ke dalam buffer monitor; mengkonsumsi entri dari buffer tweet positif dan negatif, melakukan pelatihan jaringan saraf
  • MONITOR ("monitor") - dengan mengonsumsi catatan yang diproses oleh alat analisis dari buffernya sendiri, monitor memantau nilai metrik kesalahan klasifikasi tweet oleh jaringan saraf selama pelatihan terakhir dan mengirimkan sinyal ke alat analisis tentang perlunya pelatihan baru jaringan saraf

Kami secara skematis dapat mewakili sistem agen kami dalam proses bisnis sebagai berikut:

gambar
Gambar 3 Alur data agen

Semua proses dalam sistem kami beroperasi secara independen satu sama lain, tetapi dengan mempertimbangkan sinyal satu sama lain. Sebagai contoh, sinyal ke awal pembentukan file selanjutnya dengan catatan oleh proses-generator adalah penghapusan file sebelumnya dengan catatan oleh buffer.

Sekarang tentang kemampuan beradaptasi. Kemampuan adaptasi proses analitik dalam contoh kami diwujudkan melalui "enkapsulasi" AI dalam bentuk elemen yang tidak tergantung pada logika proses pembawa elemen, dengan isolasi fungsi utamanya - pelatihan dan penerapan model:

gambar
Gambar 4 Isolasi dalam analitik proses-analisa fungsi utama AI - pelatihan dan penilaian model matematika

Karena fragmen dari proses analisa yang disajikan di atas adalah bagian dari โ€œsiklus tanpa akhirโ€ (yang dimulai ketika proses analisa dimulai dan berjalan sampai seluruh sistem agen berhenti), dan fungsi AI dieksekusi secara paralel, proses tersebut memiliki kemampuan untuk menyesuaikan AI dengan situasi: melatih model bila perlu , dan tanpa henti untuk menggunakan versi model yang dimilikinya. Kebutuhan akan model pelatihan ditentukan oleh proses monitor adaptif yang bekerja secara independen dari proses analisis dan menggunakan kriteria sendiri untuk menilai akurasi model yang dilatih oleh analis:

gambar
Gambar 5 Pengakuan oleh monitor proses dari jenis model dan penerapan kriteria yang sesuai untuk mengevaluasi akurasi model

Kami beralih ke kemampuan beradaptasi. Proses analitik dalam InterSystems IRIS adalah proses bisnis yang memiliki representasi grafis atau XML sebagai urutan langkah-langkahnya. Langkah-langkah dapat, pada gilirannya, menjadi urutan langkah-langkah, siklus, tes kondisi, dan kontrol proses lainnya. Langkah-langkah dapat menjalankan kode program untuk eksekusi atau mentransfer informasi (yang juga bisa menjadi kode program) untuk dieksekusi ke proses lain atau lingkungan eksternal.

Secara khusus, jika perlu untuk mengubah proses analitis, kami memiliki kesempatan untuk melakukan ini baik di editor grafis dan di IDE. Mengubah proses analitik dalam editor grafis memungkinkan Anda untuk menyesuaikan logika proses tanpa pemrograman:

gambar
Gambar 6 Process analyzer dalam editor grafis dengan menu terbuka untuk menambahkan kontrol

Dan akhirnya, interaksi dengan lingkungan. Komponen lingkungan yang paling penting, dalam kasus kami, adalah lingkungan pemodelan matematika Python. Untuk memastikan interaksi dengan lingkungan Python dan R, ekstensi fungsional yang sesuai dibuat: Python Gateway dan R Gateway . Fungsi kunci dari kedua mekanisme ini adalah kemampuan untuk berinteraksi dengan lingkungan yang sesuai menggunakan komponen integrasi yang mudah. Kami telah melihat komponen untuk berinteraksi dengan Python dalam konfigurasi sistem agen kami. Dengan cara ini, proses bisnis yang mengandung AI diimplementasikan dalam Python berinteraksi dengan Python.
Misalnya, proses penganalisa berisi fungsi untuk melatih dan menerapkan model, implementasi salah satunya dengan Python di platform IRIS InterSystems terlihat seperti ini:

gambar
Gambar 7 Implementasi dalam Python dari InterSystems platform IRIS untuk pelatihan model dalam proses analisa

Setiap langkah dari proses ini bertanggung jawab untuk memproses interaksi tertentu dengan Python: mentransfer input dari konteks proses IRIS InterSistem ke konteks Python, meneruskan kode untuk dieksekusi dalam Python, mengembalikan output dari konteks Python ke konteks proses IRIS InterSystems.

Jenis interaksi yang paling umum digunakan dalam contoh kami adalah meneruskan kode untuk dieksekusi dengan Python:

gambar
Gambar 8 Kode Python yang dihosting dalam proses parser IRIS InterSystems dikirim ke Python untuk dieksekusi

Dalam beberapa interaksi, data dikembalikan dari konteks Python ke konteks proses IRIS InterSystems:

gambar
Gambar 9 Jejak visual dari sesi proses analisa dengan melihat informasi yang dikembalikan oleh Python dalam salah satu langkah proses

Kami mulai robot


Jalankan robot tepat di artikel ini? Betapa tidak, di sini adalah rekaman webinar kami, di mana (selain sejumlah lainnya menarik dan terkait dengan robotisasi cerita AI!) Karya skenario di atas ditampilkan. Karena waktu webinar, sayangnya, terbatas - dan kami ingin menunjukkan "pekerjaan yang bermanfaat" dari skrip robot kami sekompleks dan secara visual mungkin - kami menempatkan di bawah gambaran yang lebih lengkap dari hasil pelatihan model (7 siklus pelatihan berturut-turut, bukan 3 di webinar):

gambar

Hasilnya cukup konsisten dengan ekspektasi intuitif: karena sampel pelatihan memenuhi tweet positif dan negatif yang ditandai, kualitas model klasifikasi kami meningkat (ini dibuktikan dengan meningkatnya โ€œarea di bawah kurvaโ€, AUC - Area Under Curve yang sama).

Kesimpulan apa yang ingin saya sampaikan di akhir artikel:

  • InterSystems IRIS adalah platform AI yang kuat untuk proses robot
  • Kecerdasan buatan dapat diimplementasikan baik di lingkungan eksternal (misalnya, Python dan R dengan modulnya yang berisi algoritma siap pakai), dan di platform IRIS InterSystems itu sendiri (menggunakan perpustakaan algoritma yang ada atau dengan menulis algoritma dengan Python atau R) - InterSystems IRIS menyediakan interaksi dengan lingkungan AI eksternal, memungkinkan Anda untuk menggabungkan kemampuan mereka dengan fungsi mereka sendiri
  • InterSystems, IRIS, robot AI menggunakan "three A": proses bisnis yang adaptif, adaptif, dan agen (mereka juga merupakan proses analitis)
  • InterSystems IRIS bekerja dengan AI eksternal (Python, R) melalui serangkaian interaksi khusus: transfer / pengembalian data, transfer kode untuk dieksekusi, dll. Dalam kerangka satu proses analitis, interaksi dengan beberapa lingkungan pemodelan matematika dapat dilakukan.
  • InterSystems IRIS mengkonsolidasikan data input dan output model dalam satu platform, historiskan dan perhitungan versi
  • Berkat InterSystems IRIS, kecerdasan buatan dapat digunakan baik dalam mekanisme analitis khusus dan tertanam dalam OLTP atau solusi integrasi.

Mereka yang membaca artikel dan tertarik pada kemampuan InterSystems IRIS sebagai platform untuk mengembangkan atau menggunakan kecerdasan buatan dan mekanisme pembelajaran mesin, kami sarankan untuk mendiskusikan skenario yang mungkin menarik bagi perusahaan Anda. Kami akan segera menganalisis kebutuhan perusahaan Anda dan bersama-sama menentukan rencana tindakan; Email kontak untuk Tim Ahli AI / ML kami adalah MLToolkit@intersystems.com .

Source: https://habr.com/ru/post/id473452/


All Articles