Cara membuat Kecerdasan Buatan kami

28/03/22

Kita sudah sering berbicara tentang Artificial Intelligence, tetapi kita belum melakukannya dari sudut pandang mereka yang ingin mendekati subjek dan mencoba membangun AI mereka sendiri.

Namun, hari ini, kami mendekati yang lebih muda untuk mencoba menjelaskan apa yang diperlukan untuk membuat AI, alat apa yang berguna, dan bagaimana melanjutkan langkah demi langkah menuju tujuan Anda. Dalam artikel ini kami mengambil beberapa pengetahuan begitu saja, khususnya kami tidak menjelaskan apa itu AI. Jika, saat Anda melanjutkan membaca, Anda menyadari bahwa Anda perlu menyegarkan beberapa konsep, saya sarankan Anda membaca artikel "Revolusi digital baru, Pembelajaran Mendalam"oleh Andrea Piras, di mana Anda dapat menemukan definisi dan penjelasan AI, Pembelajaran mesin e Belajar mendalam.

Identifikasi masalahnya

Ini mungkin tampak aneh tetapi jika Anda ingin membangun AI, Anda harus mengidentifikasi masalah yang ingin Anda selesaikan dengan baik. 

Kami segera menentukan bahwa masalah yang tampak sederhana dari sudut pandang manusia bisa menjadi sulit atau kompleks untuk AI dan sebaliknya. AI biasanya sangat efektif dalam melakukan tugas berulang yang mungkin bisa mengasingkan seseorang. Misalnya, Anda perlu mengumpulkan foto dan gambar beberapa jenis buah (pir dan apel). Kita bisa menyewa seseorang yang mampu menggambar dan mengirimnya berkeliling untuk mencari subjek untuk menggambar. Leonardo da Vinci mungkin akan berkeliling pasar kota dan pedesaan, membuat gambarnya sendiri. Atau kita bisa menyewa seorang fotografer, memintanya untuk mengambil beberapa gambar yang kemudian akan kita gunakan untuk kebutuhan kita. Kami juga dapat mempekerjakan seseorang untuk mencari gambar di internet dan kemudian menyimpannya di dua folder berbeda tergantung pada subjeknya. Kita bisa, dalam kasus terakhir, menggunakan AI yang dibuat untuk tujuan tersebut. Seperti yang Anda lihat, tugasnya relatif sederhana, tetapi metodologi dan teknologi yang digunakan berbeda. 

Demikian pula, ada kemungkinan bahwa masalah yang sama dapat diselesaikan dengan menggunakan berbagai jenis Kecerdasan Buatan. Oleh karena itu perlu untuk mencoba mendefinisikan masalah dengan baik dan memilih metodologi terbaik untuk mencapai tujuan. Akhirnya, tergantung pada masalahnya, bisa juga terjadi bahwa menggunakan AI ternyata tidak berguna dan mahal, tetapi kami tidak akan menangani kasus terakhir.

Tentang datanya...

Setelah masalah didefinisikan, mungkin tergoda untuk melanjutkan menulis program (kode) yang akan membantu kita memecahkannya (kita selalu berbicara tentang mengumpulkan gambar, foto atau gambar buah pir dan apel dan mengklasifikasikannya). Tapi ini tidak terjadi, pertama-tama kita perlu memikirkan datanya. Kita perlu mencoba memahami jenis data apa yang kita hadapi (terstruktur atau tidak terstruktur) dan bagaimana kita harus mengkatalogkannya: apakah kita harus membagi apel dan pir atau apakah kita perlu melakukan sesuatu yang lebih kompleks, mungkin membedakan antara buah-buahan. warna yang berbeda? Analisis data sangat penting dan akan berguna dalam berbagai fase proyek kami, terutama dalam fase pelatihan AI kami, dalam praktiknya ketika diajarkan untuk melakukan tugas yang dibuatnya.

Seperti yang saya katakan sebelumnya, data dapat dibagi menjadi dua kategori makro: terstruktur atau tidak terstruktur.

Data terstruktur sesuai dengan model, memiliki struktur yang terdefinisi dengan baik, teratur dan dapat dengan mudah diakses untuk digunakan (baik oleh seseorang atau oleh program). Mereka biasanya disimpan dalam database. Jika kita mempertimbangkan contoh apel dan pir yang diperkenalkan sebelumnya, kita dapat mengaitkan dua buah dengan karakteristiknya sendiri (warna, ukuran, bentuk ...) yang akan berfungsi untuk membedakannya dan akan digunakan untuk melatih algoritme. 

Data tidak terstruktur, di sisi lain, adalah video, foto, audio ... jauh lebih sulit untuk diproses.

Algoritme

Setelah merenungkan jenis data yang akan kita tangani, kita dapat mulai memikirkan algoritma yang paling cocok untuk memecahkan masalah, algoritma yang akan menjadi jantung AI kita. 

Kita dapat membagi algoritma menjadi dua kategori yang disebut "pembelajaran yang diawasi" dan "pembelajaran tanpa pengawasan". 

Kategori pertama (pembelajaran terbimbing) meliputi algoritma yang memerlukan campur tangan manusia, terutama untuk mengklasifikasikan data secara manual yang kemudian akan digunakan untuk melatih algoritma tersebut. Jika masalah kami terdiri dari memeriksa email masuk dan memilih yang spam, untuk dikirim ke folder tertentu, kami mungkin akan menggunakan algoritme kategori ini menggunakan sebagai contoh sejumlah besar pesan yang telah diklasifikasikan pengguna sebagai sah atau spam. Di antara teknik-teknik ini kita dapat memasukkan jaringan saraf, naive Bayes, regresi linier, regresi logistik, mesin vektor dukungan (SVM), k-nearest tetangga, hutan acak.

Kategori kedua (pembelajaran tanpa pengawasan) termasuk algoritma yang tidak memerlukan campur tangan manusia untuk mengklasifikasikan data dan ada tiga sub-kategori: pengelompokan, asosiasi dan pengurangan dimensi. Juga sebagai contoh, jika masalah kita terdiri dari mengidentifikasi aktivitas yang berpotensi berbahaya di jaringan perusahaan, kita mungkin akan menggunakan algoritme pengelompokan untuk mengidentifikasi rangkaian aktivitas yang tampak sangat berbeda dari yang biasa. 

Melatih AI

Langkah selanjutnya adalah melatih algoritma untuk melakukan tugas. Untuk kembali ke contoh awal sederhana pembagian gambar pir dan apel, perlu untuk melatih algoritme kami untuk mengenali dua buah dengan akurasi tertentu. Akurasi terserah kita, itu adalah sesuatu yang harus kita putuskan berdasarkan tujuan bisnis kita. Kami mungkin memutuskan bahwa kami peduli dengan akurasi 80%, yang berarti bahwa algoritme kami harus dapat mengenali buah pir atau apel dari gambar buah 80 kali dari seratus. ini berarti bahwa kami dapat mengelola kesalahan algoritme melalui metodologi lain (misalnya dengan menempatkan seseorang untuk memeriksa gambar yang dipilih) atau bahwa kesalahan tersebut tidak menyebabkan kerusakan pada bisnis kami atau bahwa kerusakan yang ditimbulkan kurang dari biaya yang harus kami dukung untuk meningkatkan proses seleksi.

Namun, jika dalam fase pelatihan akurasi yang dibutuhkan tidak tercapai, mungkin perlu mengambil langkah mundur dan memilih jenis algoritma yang berbeda. Tetapi sebelum mengubah algoritma lebih baik untuk memeriksa konfigurasinya (melalui parameter konfigurasi) dan apakah dataset yang dipilih untuk melakukan pelatihan sudah benar. Untuk kembali ke contoh biasa memilih apel dan pir, jika di antara gambar yang digunakan untuk pelatihan kami salah menggunakan hanya gambar pir dan apel dengan warna merah, bisa jadi AI tidak mengenali pir dan apel warna lain. , karena itu gagal untuk mencapai akurasi yang diperlukan. Dalam hal ini akan cukup untuk memodifikasi dataset untuk memasukkan buah-buahan dari berbagai warna, sampai akurasi yang dibutuhkan tercapai.

Bahasa pemrograman dan platform

Langkah selanjutnya adalah memilih bahasa pemrograman yang akan digunakan. Pilihannya tergantung pada pengetahuan pemrograman kita.

Bahasa yang bisa digunakan banyak tapi yang paling umum adalah Python dan R karena sudah memiliki banyak library siap pakai yang mempermudah penulisan kode. Terakhir, kita perlu memilih platform yang memungkinkan kita membangun AI kita. Ada berbagai platform yang membantu dalam realisasi proyek kami, di antaranya misalnya TensorFlow adalah platform open source yang memungkinkan Anda melakukan tes tanpa mengeluarkan apa pun, atau Numpy, Keras, Pandas, scikit-learn, Matplotlib, Seaborn dan sebagainya. , panoramanya sangat luas.

Yang tersisa hanyalah mencoba...

Omong-omong, saya lupa menyebutkan bahwa AI kami terus-menerus memberi makan data yang diterimanya. Ini melacak dan menggunakannya. Dengan cara ini dimungkinkan untuk mengajari mereka membuat prediksi, mungkin pada kualitas dan jenis apel yang akan kita temukan di pasaran dalam beberapa bulan mendatang. Tapi itu masalah lain!

Alessandro Rugolo

(Saya berterima kasih kepada semua teman SICYNT yang menasihati saya dan membantu saya memperbaiki artikel ini)

Untuk mempelajari lebih lanjut:

Revolusi digital baru, pembelajaran mendalam - Pertahanan Online

Metode Langkah-demi-Langkah Untuk Membangun Sistem AI Anda Sendiri Hari Ini | blog tingkat atas

Apa itu Data Terstruktur? - GeeksforGeeks

Apa itu Pembelajaran Terawasi? | IBM

Jenis-Jenis Algoritma Kecerdasan Buatan Yang Harus Anda Ketahui [Panduan Lengkap] | blog tingkat atas

Pembelajaran Tanpa Pengawasan untuk Cyber ​​​​(hmgstrategy.com)