Htm dan teks
Keterlambatan Masalah
Misalkan ada empat tingkat hierarki rantai yang diakui secara berturut-turut - huruf dalam suku kata, suku kata dalam kata-kata, kata-kata dalam ungkapan kata. Pada pengakuan setiap tingkat satu siklus jaringan saraf harus lulus. Jika JST membaca satu huruf per siklus, maka pengakuan tanda tingkat tertinggi akan sangat terlambat. Jika JST harus membuat perkiraan dan pilihan tindakan, maka ini sama sekali tidak cocok.Dalam ENS, masalah ini tidak terlalu jelas, karena sering (misalnya, ketika mengenali pembicaraan dengan telinga), neuron bekerja jauh lebih cepat daripada tingkat hierarki berikutnya muncul.Untuk JST, masalah dapat diselesaikan jika kedatangan tanda berikutnya ditunda secara artifisial sampai semua level hierarki dikenali. Saya menyebut metode ini "dengan kedalaman pengenalan adaptif." Kami memiliki siklus dengan postcondition - sementara setidaknya satu neuron lagi telah dikenali, tidak membaca tanda berikutnya ke dalam sensor, tetapi terus mengenali apa yang ada. Ini untuk men-debug kasus seperti itu sehingga komplikasi waktu virtual NeuroTime sangat berguna, seperti yang dijelaskan dalam artikel sebelumnya .Masalah lain muncul: setiap siklus pengenalan membutuhkan waktu, dan neuron yang ingat bahwa prasyaratnya baru saja diaktifkan dapat dinonaktifkan selama waktu ini, dan pada siklus berikutnya mereka tidak akan berfungsi sebagaimana mestinya. Masalah ini dapat diselesaikan jika dua jenis koneksi dibuat - secara relatif, langsung "naik" dan dengan penundaan "maju". Koneksi "naik" mengirim sinyal dalam siklus dengan kedalaman pengenalan adaptif, dan selama waktu ini neuron tidak dinonaktifkan (tidak punya waktu untuk menonaktifkan, jika secara konsep). Hanya pada akhir siklus, ketika saatnya tiba untuk memproses sinyal "maju", kutu dunia dan jam berdetak, dan neuron dinonaktifkan.Koneksi semacam itu dapat (walaupun tidak harus) dibagi menjadi beberapa neuron di dalam neurocluster. Sebelumnya, ketika saya bekerja dengan neuron individu, itu seperti ini: klaster menjadi lebih rumit, model abstrak empat neuron per klaster ...
... berubah menjadi neuron delapan-saraf:
Pada saat yang sama, koneksi kontrol neuron di dalam kluster (pilihan mode 1 / 2 , dll) ) tidak ditampilkan, karena tidak ada - virtual: di dalam cluster itu ternyata lebih mudah untuk mentransfer aktivasi dengan kode C ++ (seperti cluster.neuronTemporalOutput.activate ()) daripada membuat koneksi, pikirkan tentang penundaan dan ambang sinyal.Dari neuron ke cluster - deduplikasi
Selanjutnya, semua neuron disatukan ke dalam sebuah cluster bahkan lebih kuat - misalnya, beberapa neuron tidak memerlukan koneksi masuk, karena diaktifkan secara terprogram dari neuron lain dari cluster, dan satu-satunya tujuannya adalah untuk mengirim sinyal melalui koneksi keluar. Beberapa neuron lain tidak memerlukan koneksi keluar, karena transfer aktivasi secara terprogram ke neuron lain dari cluster. Jika kita memiliki neuron yang menghasilkan memori - aktivasi tanda-tanda - koneksinya diarahkan "turun", maka ia memiliki set koneksi yang sama dengan neuron dari cluster yang sama yang menerima sinyal dari tanda-tanda ini - mereka hanya memiliki arah yang berbeda (naik ) Jadi mengapa duplikat komunikasi, membuang-buang memori? Di sini model baru neurocluster muncul, di mana neuron tervirtualisasi - wadah koneksi secara terpisah (akson dan dendrit), neuron dengan potensi aksi secara terpisah.Ini tidak hanya menghemat memori, tetapi juga mempercepat perhitungan, karena meningkatkan lokasi mereka. JST menjadi lebih kecil dan secara visual:
Dan menjadi lebih mudah untuk melihat hierarki dengan banyak tingkatan:
Kompresi informasi dan lupa
Ketika dikenali, sifat-sifat tingkat yang lebih tinggi dapat menghambat sifat tingkat yang lebih rendah. Kemudian yang tingkat rendah akan dilupakan lebih cepat dan menghapus rantai memori. Hanya cluster yang telah mengaktifkan dirinya sendiri yang dapat memperlambat, dan hanya tanda-tanda yang dikenali - karena itu sendiri sudah terdaftar dalam rantai memori dan telah memperhitungkan informasi anak ini, dan itu tidak akan hilang selama pengereman tersebut. Bagaimana cara memperlambatnya? Tidak disarankan untuk sepenuhnya menonaktifkan tanda "rendah" anak, cukup dengan hanya mengurangi kekuatan koneksi sehingga koneksi ke rantai memori lebih cepat dihapus. Memang, dalam beberapa kutu berikutnya, informasi mungkin masih berguna, bahkan jika gejalanya tampaknya diperhitungkan, jadi jangan buru-buru menghapusnya secara instan.Juga, kompresi informasi mengarah pada fakta bahwa hampir tidak relevan apakah JST akan membaca mantra atau kata teks. Hanya makna tingkat tinggi yang akan tetap ada di akhir, dan tautan ke huruf demi huruf akan segera dihapus.Rantai hierarkis
Algoritma untuk membedakan rantai generalisasi yang dibahas di atas harus dapat bekerja dengan situasi di mana hanya fitur tingkat tinggi yang tersisa dalam rantai akhir. Bahkan jika tanda-tanda ini berbeda, dan kesamaan mereka ditemukan jauh di lubuk hati. Untuk melakukan ini, langkah mengirim aktivasi turun juga harus dengan kedalaman adaptif - untuk mengirim aktivasi ke tanda tingkat terendah, sehingga tanda yang terjadi di kedua rantai, tetapi dihapus untuk kompresi data, masih ditemukan.Penghambatan tanda-tanda yang dikenali sangat penting ketika menyoroti generalisasi - jika generalisasi memilih rantai yang sudah diketahui, maka itu akan menghambat semua yang berlebihan dan tautologi tidak akan dibuat - diulang atau diambil. Juga, jika ada banyak fitur dalam rantai umum baru, maka hanya level tertinggi yang akan memasukinya. Ini tidak sulit, mengingat bahwa kode menghafal / pengenalan adalah umum untuk kedua algoritma - yaitu menghafal, generalisasi dengan dua rantai utama.Source: https://habr.com/ru/post/id388707/
All Articles