Saya sadar bahwa jaringan saraf mungkin tidak dirancang untuk melakukan itu, namun bertanya secara hipotesis, apakah mungkin untuk melatih jaringan saraf yang dalam (atau serupa) untuk menyelesaikan persamaan matematika?
Jadi diberi 3 input: nomor 1, tanda operator diwakili oleh nomor (1 - +
, 2 - -
, 3 - /
, 4 - *
, dan seterusnya), dan nomor 2, maka setelah pelatihan jaringan harus memberi saya hasil yang valid.
Contoh 1 ( 2+2
):
- Input 1:
2
; Input 2:1
(+
); Masukan 3:2
; Output yang diharapkan:4
- Input 1:
10
; Input 2:2
(-
); Masukan 3:10
; Output yang diharapkan:0
- Input 1:
5
; Input 2:4
(*
); Masukan 3:5
; Output yang diharapkan:25
- dan sebagainya
Di atas dapat diperluas ke contoh yang lebih canggih.
Apakah itu mungkin? Jika demikian, jaringan seperti apa yang bisa dipelajari / dicapai itu?
neural-networks
math
kenorb
sumber
sumber
Jawaban:
Ya, sudah dilakukan!
Namun, aplikasi tidak menggantikan kalkulator atau yang seperti itu. Laboratorium yang saya asosiasikan dengan mengembangkan model jaringan saraf dari penalaran persamaan untuk lebih memahami bagaimana manusia dapat memecahkan masalah ini. Ini adalah bagian dari bidang yang dikenal sebagai Kognisi Matematika . Sayangnya, situs web kami tidak terlalu informatif, tetapi di sini ada tautan ke contoh karya semacam itu.
Terlepas dari itu, pekerjaan terbaru pada memperluas jaringan saraf untuk memasukkan penyimpanan memori eksternal (misalnya Mesin Syaraf Tiruan) cenderung menggunakan pemecahan masalah matematika sebagai bukti konsep yang baik. Ini karena banyak masalah aritmatika melibatkan prosedur panjang dengan hasil antara disimpan. Lihat bagian dari makalah ini tentang penambahan dan perkalian biner yang panjang.
sumber
Tidak juga.
Jaringan saraf baik untuk menentukan hubungan non-linear antara input ketika ada variabel tersembunyi. Dalam contoh di atas, hubungan itu linier, dan tidak ada variabel tersembunyi. Tetapi bahkan jika mereka non-linear, desain JST tradisional tidak akan cocok untuk mencapai ini.
Dengan membangun lapisan dengan hati-hati dan mengawasi pelatihan dengan ketat, Anda bisa mendapatkan jaringan untuk secara konsisten menghasilkan output 4.01, katakanlah, untuk input: 2, 1 (+), dan 2, tetapi ini tidak hanya salah, ini adalah inheren tidak dapat diandalkan penerapan teknologi.
sumber
1) Itu mungkin! Bahkan, ini adalah contoh dari kerangka belajar mendalam populer Keras. Lihat tautan ini untuk melihat kode sumber .
2) Contoh khusus ini menggunakan jaringan saraf berulang (RNN) untuk memproses masalah sebagai urutan karakter, menghasilkan urutan karakter yang membentuk jawaban. Perhatikan bahwa pendekatan ini jelas berbeda dari cara manusia cenderung berpikir untuk memecahkan masalah penambahan sederhana, dan mungkin bukan bagaimana Anda ingin komputer menyelesaikan masalah seperti itu. Sebagian besar ini adalah contoh dari urutan ke urutan pembelajaran menggunakan Keras. Saat menangani input berurutan atau seri waktu, RNN adalah pilihan yang populer.
sumber
Ya - tampaknya sekarang mungkin untuk mencapai lebih banyak diperlukan dari contoh yang Anda berikan pada makalah ini menjelaskan solusi DL untuk masalah yang jauh lebih sulit - menghasilkan kode sumber untuk program yang dijelaskan dalam bahasa alami .
Kedua hal ini dapat digambarkan sebagai masalah regresi (yaitu tujuannya adalah untuk meminimalkan beberapa fungsi kerugian pada set validasi), tetapi ruang pencarian dalam kasus bahasa alami jauh lebih besar.
sumber
Ada bidang yang cukup mapan membuktikan teorema otomatis . Ini kemungkinan besar mencakup penyelesaian persamaan, tetapi tidak selalu melibatkan AI. Posting ini dari pertukaran lintas silang divalidasi memiliki beberapa informasi lebih lanjut tentang topik ini.
sumber