Judul : BELIEF NETWORK SIMULATOR
link : BELIEF NETWORK SIMULATOR
BELIEF NETWORK SIMULATOR
BELIEF NETWORK SIMULATOR
“NENGO”
Dosen : Dr. rer. nat. I Made Wiryana, SKom, SSi, MAppSc

Disusun Oleh :
Kelompok 2 - 4IA08
Andhika Prawira (50410660)
Hanif Abirama Gumilang (5341011)
Intan Ratna Puri (53410572)
Nizar Lazuardy Firmansyah (55410015)
Yohanes Christomas Daimler (58410671)
KATA PENGANTAR
1 PENDAHULUAN
2 LANDASAN TEORI
2.1 Belief Network
2.2 Nengo
2.3 Neurosains Kognitif
2.3.1 Asal dan Sejarah
2.3.1.1 Kesadaran
2.3.1.2 Sumber dalam Filsafat
2.3.1.3 Phrenology
2.3.1.4 Pandangan Lokalisasi
2.3.1.5 Pemandangan lapangan Agregat
2.3.1.6 Munculnya Neuropsikologi
2.3.1.7 Pemetaan Otak
2.3.1.8 Revolusi Kognitif
2.3.1.9 Doktrin Neuron
2.3.1.10 Pertengahan-Akhir Abad 20
2.3.1.11 Pemetaan Otak Baru
2.4 Bahasa Pemrograman Java
2.4.1 Sejarah dan perkembangan Java
2.4.2 Versi Awal Java
- java.lang : Peruntukan kelas elemen-elemen dasar.
- java.io : Peruntukan kelas input dan output, termasuk penggunaan berkas.
- java.util : Peruntukan kelas pelengkap seperti kelas struktur data dan kelas-kelas penanggalan.
- java.net :Peruntukan kelas TCP/IP, yang memungkinkan berkomunikasi dengan komputer lain menggunakan jaringan TCP/IP.
- java.awt : Kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI).
- java.applet :Kelas dasar aplikasi antar muka untuk diterapkan pada penjelajah web.
2.4.3 Kelebihan Bahasa Pemrograman Java
- Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebanya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut.
- OOP (Object Oriented Programming - Pemrogram Berorientasi Objek) yang artinya semua aspek yang terdapat di Java adalah Objek. Java merupakan salah satu bahasa pemrograman berbasis oebjek secara murni. Semua tipe data diturunkan dari kelas dasar yang disebut Object. Hal ini sangat memudahkan pemrogram untuk mendesain, membuat, mengembangkan dan mengalokasi kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan terorganisir. Kelebihan ini menjadikan Java sebagai salah satu bahasa pemograman termudah, bahkan untuk fungsi-fungsi yang advance seperti komunikasi antara komputer sekalipun.
- Perpustakaan kelas yang lengkap, Java terkenal dengan kelengkapan library (kumpulan program program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi.
- Bergaya C++, memiliki sintaks seperti bahasa pemrograman [C++] sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitas-universitas di Amerika juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer.
- Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung.
2.4.4 Kekurangan Bahasa Pemrograman Java
- Tulis sekali, perbaiki di mana saja. Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.
- Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak atau direverse-engineer.
- Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.
2.5 Simulasi
3 PEMBAHASAN SOFTWARE
3.1 Representasi Satu-Dimensi
3.1.1 Instalasi dan Menjalankan Nengo
- Nengo dapat berjalan pada sistem operasi Linux, OS X, dan Windows. Satu-satunya persyaratan adalah bahwa anda harus memiliki Java (http://java.com) yang sudah diinstal pada komputer anda.
- Untuk mengunduh Nengo, file dapat diunduh file dari http://nengo.ca.
- Untuk menginstal Nengo, hanya unzip file tersebut.
- Untuk menjalankan Nengo :
- Klik dua kali pada nengo.bat (pada Windows).
- Run ./ nengo (di OS X dan Linux).
3.1.2 Membuat Jaringan
- Ketika membuat model NEF, langkah pertama adalah untuk menciptakan sebuah jaringan. Ini akan berisi semua ensambel saraf dan setiap masukan yang diperlukan untuk sistem.
- Pilih File-> Pilih New Network (atau tarik jaringan dari sidebar).
- Berikan nama jaringan tersebut.
3.1.3 Membuat Ensemble
- Ensemble harus ditempatkan dalam jaringan agar dapat digunakan.
- Tarik sebuah ensemble dari sidebar dan taruh di dalam jaringan.
- Berikut fitur dasar dari ensemble dapat dikonfigurasi
- Nama.
- Jumlah node (yaitu neuron).
- Dimensi (jumlah nilai-nilai dalam vektor dikodekan oleh neuron ini, berangkat pukul 1 untuk saat ini).
- Radius (rentang nilai yang dapat dikodekan, misalnya, nilai 100 berarti ensemble dapat nomor encode antara -100 dan 100).
- Node Factory (jenis neuron untuk menggunakan).
- Pada tutorial ini (dan untuk sebagian besar penelitian),menggunakan LIF Neuron, standar Leaky mengintegrasikan neuron api. Mengklik Set memungkinkan untuk parameter neuron yang akan dikonfigurasi * Torc (RC waktu yang konstan untuk membran neuron; biasanya 0,02) * tauRef (periode refrakter mutlak untuk neuron, biasanya 0,002) * Max rate (laju pembakaran maksimum untuk neuron, setiap neuron akan memiliki laju pembakaran maksimum dipilih dari distribusi seragam antara rendah dan tinggi) * Intercept (kisaran mungkin x-penyadapan pada kurva tala grafik; biasanya ditetapkan dengan -1 dan 1).
- Karena ada banyak parameter untuk mengatur dan kita sering memilih nilai yang sama, Nengo akan mengingat anda untuk pengaturan sebelumnya. Anda pun dapat menyimpan template dengan mendirikan parameter yang anda inginkan dengan cara mengklik New di kotak Template. Anda kemudian akan dapat kembali ke pengaturan ini dengan memilih template dari kotak drop-down.
- Anda dapat mengklik dua kali pada ensemble untuk melihat neuron individu di dalamnya.
3.1.4 Plotting Tuning Curves
- Hal ini menunjukkan untuk perilaku setiap neuron ketika mewakili nilai-nilai yang berbeda (yaitu kurva tuning untuk neuron).
- Klik kanan pada ansambel, pilih Plot-> Tanggapan Angka Konstan.
- tauRC mempengaruhi linearitas dari neuron (nilai-nilai yang lebih kecil lebih linear).
- Max tingkat mempengaruhi ketinggian kurva di sisi kiri dan kanan.
- Intercept mempengaruhi di mana kurva memukul sumbu x (yaitu nilai di mana neuron mulai firing).
3.1.5 Plotting Representation Error
- Kita sering ingin menentukan keakuratan ansambel saraf.
- Klik kanan pada ansambel, pilih Plot-> Plot Distortion: X
- Berarti Kesalahan Squared (MSE) juga ditampilkan (di bagian atas).
- MSE menurun sebagai kuadrat dari jumlah neuroN (jadi RMSE sebanding dengan 1 / N).
- Bisa juga mempengaruhi akurasi representasi dengan menyesuaikan berbagai penyadapan. Ini akan menyebabkan sistem menjadi lebih akurat di tengah-tengah rentang dan kurang akurat di tepi.
3.1.6 Menyesuaikan sebuah Ensemble
- Setelah ensemble dibuat, kita dapat memeriksa dan memodifikasi banyak parameter.
- Klik kanan pada sebuah ensemble dan pilih Inspektur (atau pilih ensemble dan klik kaca pembesar di kanan atas).
- neuron (jumlah neuron, ini akan membangun kembali seluruh ensemble).
- radii / jari-jari (rentang nilai yang dapat dikodekan, dapat berbeda untuk dimensi yang berbeda).
- encoders (vektor arah pilihan untuk setiap neuron).
3.1.7 Script Console
- Nengo juga memungkinkan user untuk berinteraksi dengan model melalui antarmuka scripting menggunakan bahasa Python. ini berguna untuk menulis skrip untuk membuat komponen model yang sering Anda gunakan.
- Anda juga dapat menggunakannya untuk memeriksa dan memodifikasi berbagai aspek model.
- Tekan Ctrl-1 (Command-1 OS X) atau pilih View-> Toggle Script Console untuk menunjukkan antarmuka skrip :
- Fleksibilitas penuh bahasa pemrograman Python tersedia dalam konsol ini. Interface konsol ini mendasari kode Java dari simulasi menggunakan Jython, membuat semua metode Java menjadi tersedia.
- Jika Anda mengklik pada objek di GUI (sehingga disorot dengan warna kuning), objek yang sama ini tersedia dengan nama bahwa dalam konsol naskah.
- Klik pada ensemble
- Buka Script console
- Ketik That.neurons
- Ketik that.neurons = 50
- Anda juga dapat menjalankan script dengan mengetikkan run [scriptname.py] atau dengan membuka script menggunakan File-> Open atau dengan mengklik folder di kiri atas.
3.2 Transformasi Linear
3.2.1 Membuat Termination
- Sambungan antara ansambel dibangun menggunakan Origins dan pemutusan hubungan kerja. Asal dari satu ensemble dapat dihubungkan ke Pemutusan pada ansambel berikutnya.
- Buat dua ansambel. Mereka dapat memiliki sifat saraf yang berbeda dan nomor yang berbeda dari neuron, tapi untuk saat ini pastikan mereka berdua satu-dimensi.
- Tarik ikon Pemutusan dari sidebar ke ensemble kedua.
- Memberikan nama (misalnya, input) .
- Mengatur dimensi input ke 1 dan menggunakan Berat Set untuk mengatur berat koneksi ke 1.
- Set tauPSC 0,01 (waktu sinaptik ini berbeda konstan sesuai dengan yang neurotransmitter yang terlibat. 10 ms adalah waktu yang konstan untuk AMPA (5-10ms).
3.2.2 Membuat Project
- Kita sekarang dapat menghubungkan dua ensambel saraf.
- Setiap ensemble secara otomatis memiliki asal yang disebut X. Ini merupakan asal cocok untuk membangun setiap transformasi linear. Dalam Bagian Tiga ini kita akan menunjukkan cara membuat asal-usul untuk transformasi non-linear
- Klik dan tarik dari asal pemutusan tersebut. Ini akan membuat project/proyeksi yang diinginkan
3.2.3 Menambahkan Input
- Dalam rangka untuk menguji bahwa project ini bekerja, kita perlu mengatur nilai dikodekan oleh ensemble saraf pertama. Kami melakukan ini dengan membuat sebuah input ke sistem. Ini adalah bagaimana semua input eksternal untuk model Nengo ditentukan.
- Seret ikon Masukan Fungsi dari sidebar ke dalam jaringan.
- Berikan nama (misalnya, Input eksternal).
- Mengatur dimensi output nya ke 1.
- Tekan Set Function untuk menentukan perilaku masukan ini.
- Pilih Constant dari daftar drop-down dan kemudian tekan Set untuk menentukan nilai itu sendiri.
- Tambahkan terminasi ansambel saraf pertama (seperti sebelumnya) dan membuat proyeksi (seperti sebelumnya) dari input baru untuk ensemble itu.
3.2.4 Plot Interactive
- Untuk mengamati kinerja model ini, kita sekarang beralih ke Plot Interaktif. Hal ini memungkinkan kita untuk kedua grafik kinerja model dan menyesuaikan input on-the-fly untuk melihat bagaimana hal ini mempengaruhi perilaku.
- Mulai Interaktif Plot dengan mengklik kanan di dalam Jaringan dan memilih Plot Interaktif atau mengklik ganda sinus icon di bagian kanan atas.
- Teks menunjukkan berbagai komponen model Anda, dan panah menunjukkan koneksi sinaptik antara mereka.
- Anda dapat memindahkan komponen dengan kiri klik menariknya dapat memindahkan semua komponen dengan menyeret latar belakang.
- Anda dapat menyembunyikan komponen dengan mengklik kanan dan memilih "menyembunyikan".
- Untuk menampilkan komponen tersembunyi, klik kanan pada background dan pilih komponen dengan nama.
- Bagian bawah jendela menunjukkan kontrol untuk menjalankan simulasi.
- Simulasi dapat dimulai dan berhenti dengan menekan Play atau tombol Pause di bagian kanan bawah. melakukan ini sekarang akan menjalankan simulasi, tetapi tidak ada data yang akan ditampilkan karena kita belum memiliki grafik terbuka !
- Tombol reset di paling kiri membersihkan semua data dari simulasi dan menempatkan kembali ke awal.
- Di tengah adalah sebuah slider yang menunjukkan waktu saat ini dalam simulasi. Setelah simulasi telah dijalankan, kita bisa geser kembali dan sebagainya untuk mengamati data dari waktu yang berbeda dalam simulasi.
- Klik kanan pada komponen juga memungkinkan kita untuk memilih jenis data untuk menunjukkan tentang komponen itu.
- Klik kanan pada A dan pilih "value". Hal ini menciptakan grafik yang menunjukkan nilai yang diwakili oleh neuron dalam ansambel A. Anda dapat memindahkan grafik oleh kiri-klik menyeretnya, dan Anda dapat mengubah ukurannya dengan menarik dekat sudut-sudut atau menggunakan mouse scroll wheel.
- Tekan tombol Play di bagian bawah kanan atau jendela dan mengkonfirmasi bahwa kelompok neuron berhasil mewakili nilai input, yang sebelumnya kita tetapkan menjadi 0,5.
- Sekarang mari kita lihat apa yang terjadi jika kita mengubah input. Klik kanan pada input dan pilih "Control". Hal ini memungkinkan kita bervariasi masukan saat simulasi berjalan.
- Tarik slider ke atas dan ke bawah saat simulasi berjalan (tekan Play lagi jika di Pause). Neuron pada ensemble A harus berhasil mewakili nilai-nilai berubah.
- Kita juga dapat melihat apa yang neuron individu lakukan selama simulasi. Klik kanan pada A dan pilih "Spike raster". Hal ini menunjukkan paku individu yang berasal dari neuron. Karena ada 100 neuron di ensemble A, paku dari hanya sub-set ini ditunjukkan. Anda dapat klik kanan pada grafik lonjakan raster dan menyesuaikan proporsi paku ditampilkan. Mengubahnya ke 50%.
- Jalankan simulasi dan mengubah input. Ini akan mempengaruhi pola neuron firing atau menembak.
- Kita juga dapat melihat level tegangan dari semua neuron individu. Klik kanan pada A dan pilih "voltage grid". Setiap neuron ditampilkan sebagai persegi dan shading alun-alun yang menunjukkan tegangan sel yang neuron membran, dari hitam (potensial istirahat) ke putih (menembak threshold). Kuning menunjukkan lonjakan.
- Neuron awalnya memerintahkan secara acak. Anda dapat mengubah ini dengan mengklik kanan pada voltage grid dan cara memilih "Improve Layout". Ini akan mencoba untuk re-order neuron sehingga neuron dengan pola penembakan serupa dekat satu sama lain, karena mereka berada di otak. Ini tidak lain mempengaruhi simulasi dengan cara apapun.
- Jalankan simulasi dan mengubah input. Ini akan mempengaruhi tegangan atau voltage neuron.
- Sejauh ini, kami baru saja grafik informasi tentang saraf A. Kami ensemble telah menunjukkan bahwa 100 neuron akurat dapat mewakili nilai yang masukan langsung kepada mereka.
- Agar hal ini berguna untuk membangun model kognitif, kita perlu juga menunjukkan bahwa output dari spiking ini kelompok neuron dapat digunakan untuk mentransfer informasi ini dari salah satu kelompok saraf yang lain.
- Dengan kata lain, kami ingin menunjukkan bahwa B dapat mewakili hal yang sama seperti A, di mana hanya masukan B adalah menembak saraf dari grup A. Agar hal ini terjadi, yang benar bobot hubungan sinaptik antara A dan B (sesuai Rekayasa Kerangka Neural) harus dihitung.
- Nengo otomatis menghitung bobot ini setiap kali asal dibuat.
- Kita dapat melihat bahwa komunikasi ini berhasil dengan menciptakan grafik untuk ensemble B.
- Lakukan ini dengan mengklik kanan pada B dan memilih "value", dan kemudian mengklik kanan pada B lagi dan memilih "Voltage grid".
- Untuk membantu dalam mengidentifikasi grafik yang berjalan dengan ensemble, klik kanan pada grafik dan pilih "label".
- Grafik dapat dipindahkan (dengan menyeret) dan ukurannya (dengan menyeret dekat tepi dan sudut atau scroll mouse) seperti yang diinginkan.
- Perhatikan bahwa ansambel saraf dapat mewakili nilai yang sama, tetapi memiliki pola penembakan yang berbeda.
- Tutup Plot Interaktif/Interactive Plot ketika Anda selesai.
3.2.5 Menambahkan Skalar
- Jika kita ingin menambahkan dua nilai, kita hanya dapat menambahkan terminasi/termination lain untuk ansambel akhir dan proyek sebagai dengan baik.
- Buat terminasi ansambel kedua yang disebut masukan 2.
- Buat ansambel baru.
- Membuat proyeksi/project dari X asal input 2.
- Buka Interactive Plot.
- Tampilkan controls untuk dua input.
- Buat value graph untuk tiga ansambel saraf.
- Tekan Play untuk memulai simulasi. Nilai untuk ansambel akhir harus 0,5-0,7 = -0.2.
- Gunakan control slider untuk menyesuaikan input. Outputnya harus tetap menjadi jumlah input.
- Ini akan berlaku untuk sebagian besar nilai-nilai. Namun, jika jumlahnya adalah di luar radius yang ditetapkan ketika kelompok saraf dibentuk (dalam hal ini, dari -1 sampai 1), maka neuron mungkin tidak dapat memecat cukup cepat untuk menyatakan bahwa nilai (yaitu, mereka akan jenuh). Coba ini dengan menghitung 1 +1. Hasilnya hanya akan sekitar 1,3.
- Untuk keaakuratan mewakili nilai-nilai di luar jangkauan -1 ke 1, kita perlu mengubah radius dari ansambel output. Kembali ke Nengo Workspace dan mengkonfigurasi ensemble B. Mengubah nya jari-jari to 2. Sekarang kembali ke Interaktif Plot. Jaringan sekarang harus akurat menghitung bahwa 1 +1 = 2.
3.2.6 Menyesuaikan Transformasi
- Sejauh ini, kita hanya mempertimbangkan proyeksi yang tidak menyesuaikan nilai yang diwakili dengan cara apapun. Namun, karena derivasi NEF bobot sinaptik antara neuron, kita dapat menyesuaikan ini untuk membuat sewenang-wenang linear transformasi (yaitu kita dapat mengalikan setiap nilai diwakili oleh matriks).
- Setiap terminasi di Nengo memiliki transformasi matriks terkait. Hal ini dapat disesuaikan sesuai keinginan. dalam hal ini kasus, kita akan dua kali lipat bobot nilai asli, jadi bukan komputasi x + y, jaringan akan menghitung 2x + y.
- Klik kanan pada penghentian pertama dalam ansambel yang memiliki dua proyeksi datang ke dalamnya. Pilih Inspektur. Klik dua kali pada transformasi.
- Klik dua kali pada 1,0 dan mengubahnya menjadi 2,0.
- Klik Save Changes.
- Sekarang run/jalankan simulasi. Hasil akhir harus 2 (0.5) -0.7 = 0,3
3.2.7 Multiple Dimention
- Semuanya dibahas di atas juga berlaku untuk ansambel yang mewakili lebih dari satu dimensi.
- Untuk membuat ini, tenetapkan jumlah dimensi sampai 2 saat membuat ansambel.
- Ketika menambahkan terminasi dimensi input dapat disesuaikan. Ini mendefinisikan bentuk transformasi matriks untuk terminasi, memungkinkan untuk proyeksi yang mengubah dimensi data.
- Sebagai contoh, dua nilai 1-dimensi dapat dikombinasikan menjadi sebuah ensemble dua dimensi tunggal. ini akan dilakukan dengan dua penghentian: satu dengan transformasi (atau kopling) matriks [1 0] dan yang lainnya dengan [0 1].
- Jika dua input disebut a dan b, ini akan menghasilkan perhitungan sebagai berikut:
- A * [1 0] + b * [0 1] = [a 0] + [0 b] = [a, b]
- Ini akan berguna untuk membuat transformasi non-linear, seperti yang dibahas lebih lanjut dalam bagian berikutnya.
- Ada cara lain untuk melihat representasi 2D di plot interaktif, termasuk:
- Merencanakan aktivitas neuron di sepanjang vektor arah yang mereka sukai.
- Merencanakan nilai didekode 2D dari representasi.
3.2.8 Scripting
- Seiring dengan kemampuan untuk membangun model menggunakan antarmuka ini point-and-klik, Nengo juga menyediakan sebuah Python antarmuka bahasa scripting untuk pembuatan model. Contoh-contoh ini dapat dilihat dalam "demo" direktori.
- Untuk membuat saluran komunikasi melalui antarmuka scripting, klik pada icon Folder (kiri atas), navigasi ke / direktori demo (di dalam folder rumah Nengo) dan terbuka "communication.py".
- Aktual kode untuk ini dapat dilihat dengan membuka file communication.py dalam editor teks :
import nef net=nef.Network(Communications Channel)
input=net.make_input(input,[0.5])
A=net.make(A,100,1)
B=net.make(B,100,1)
net.connect(input,A)
net.connect(A,B)
net.add_to(world)
- Script demo berikut membuat model serupa dengan yang terlihat di bagian tutorial.
- demo / singleneuron.py menunjukkan apa yang terjadi dengan ensemble dengan hanya neuron tunggal di atasnya (sedikit representasi).
- demo / dua neurons.py menunjukkan dua neuron bekerja sama untuk mewakili.
- demo / manyneurons.py menunjukkan ensemble standar 100 neuron mewakili nilai.
- demo / communication.py menunjukkan saluran komunikasi.
- demo / addition.py menunjukkan menambahkan dua angka.
- demo/2d representation.py menunjukkan 100 neuron yang mewakili vektor 2-D.
- demo / combining.py menunjukkan dua nilai terpisah yang digabungkan ke dalam vektor 2-D.
3.3 Transformasi Non Linear
3.3.1 Fungsi dari satu variable
- Kita sekarang beralih ke menciptakan transformasi nonlinear di Nengo. Ide utama di sini adalah bahwa alih-alih menggunakan X asal, kita akan menciptakan sebuah asal baru yang memperkirakan beberapa fungsi sewenang-wenang X. Ini akan memungkinkan kita untuk memperkirakan setiap fungsi yang diinginkan.
- Ketepatan perkiraan ini akan, tentu saja, tergantung pada sifat-sifat neuron.
- Untuk ansambel satu dimensi, kita dapat menghitung berbagai fungsi 1-dimensi:
- Untuk melakukan operasi non-linear, kita perlu mendefinisikan asal baru.
- X asal hanya menggunakan f (x) = x.
- Membuat ansambel baru dan masukan fungsi. Ensemble harus satu-dimensi dengan 100 neuron dan radius 1. Gunakan Konstan set Fungsi input ke 0,5.
- Membuat terminasi pada ensemble dan menghubungkan input fungsi untuk itu.
- Sekarang membuat asal baru yang akan memperkirakan persegi nilai.
- Tarik ikon Asal dari sidebar ke ansambel.
- Mengatur nama untuk persegi.
- Klik Set Fungsi.
- Pilih User-defined Fungsi dan tekan Set.
- Untuk Expression, masukkan x0 * x0. Kami menyebut nilai sebagai x0 karena ketika kita memperpanjang ini untuk beberapa dimensi, kita akan merujuk kepada mereka sebagai x0, x1, x2, dan sebagainya.
- Tekan OK, OK, dan OK.
- Anda sekarang dapat menghasilkan plot yang menunjukkan seberapa baik ensemble adalah pada perhitungan non-linearitas. klik kanan pada ensemble dan pilih Plot-> Plot distortion:square.
- Mulai Interactive Plot.
- Buat control untuk input, sehingga Anda dapat menyesuaikan sementara model berjalan (klik kanan pada input dan pilih "Control").
- Buat grafik dari "square" nilai dari ansambel. Lakukan ini dengan mengklik kanan pada ansambel dalam Window Plot interaktif dan memilih "square> value".
- Sebagai perbandingan, juga membuat grafik untuk X asal standar byt mengklik kanan pada ansambel dan memilih "X-> value". Ini adalah nilai grafik standar yang hanya menunjukkan nilai yang diwakili oleh ensemble ini.
- Tekan Play untuk menjalankan simulasi. Dengan input default dari 0.5, nilai squared harus dekat 0,25. gunakan kontrol untuk menyesuaikan input. Outputnya harus kuadrat input.
- Anda juga dapat menjalankan contoh ini dengan membuka "demo / squaring.py".
3.3.2 Fungsi multiple variabel
- Karena X (nilai yang diwakili oleh sebuah ensemble) juga dapat multidimensi, kami juga bisa menghitung beberapa fungsi sebagai berikut.
- Untuk memulai, kami membuat dua ansambel dan dua input fungsi. Ini akan mewakili dua nilai yang kita ingin kalikan bersama-sama.
- Ensemble harus satu-dimensi, menggunakan 100 neuron dan memiliki jari-jari 10 (sehingga mereka dapat mewakili nilai antara -10 dan 10).
- Dua input fungsi harus konstanta diatur ke 8 dan 5.
- The tambatan Anda buat untuk menghubungkan mereka harus memiliki konstanta waktu dari 0,01 (AMPA).
- Sekarang buatlah ansambel saraf dua dimensi dengan radius 15 disebut Gabungan.
- Ini perlu dilakukan untuk mewakili beberapa nilai, kita meningkatkan jumlah neuron mengandung 200.
- Tambahkan dua terminasi ke Gabungan.
- Untuk masing-masing, dimensi input 1.
- Untuk yang pertama, menggunakan Set Weight untuk membuat transformasi menjadi [1 0].
- Untuk yang kedua, menggunakan Set Weight untuk membuat transformasi menjadi [0 1].
- Hubungkan dua ansambel lain untuk satu Gabungan.
- Berikutnya, membuat ensemble untuk mewakili hasilnya. Ini harus memiliki radius 100, karena akan perlu untuk mewakili nilai dari -100 sampai 100 (yaitu max (10 * 10)). Memberikan terminasi/pemutusan tunggal satu-dimensi dengan weight/berat 1.
- Sekarang kita perlu membuat new origin/asal baru yang akan memperkirakan produk antara dua nilai yang tersimpan dalam gabungan ensemble.
- Tarik ikon Asal ke ensemble Gabungan.
- Mengatur nama untuk produk (name of the product).
- Mengatur dimensi Output untuk 1.
- Klik Set Functions.
- Pilih User-defined Function dan tekan Set.
- Untuk Expression, masukkan x0 x1 *.
- Tekan OK, OK, dan OK setelah selesai membuat origin/asal.
- Hubungkan new origin/asal baru untuk terminasi hasil ensemble.
- Jalankan simulasi dengan Plot Interaktif, dan lihat grafik yang sesuai.
- Hasilnya harus kira-kira 40.
- Atur kontrol masukan ke beberapa nomor yang berbeda bersama-sama.
- Anda juga dapat menjalankan contoh ini dengan membuka "demo / multiplication.py"
3.3.3 Pendekatan Gabungan
- Kita dapat menggabungkan kedua cara ini dalam rangka untuk menghitung funxtions yang lebih kompleks, seperti x2y.
- Tarik Origin/Asal ke ensemble mewakili pertama dari dua nilai.
- Beri nama "square", mengatur dimensi output nya ke 1, dan tekan Set Function.
- Seperti sebelumnya, pilih Fungsi User-defined dan tekan Set.
- Mengatur Expression untuk menjadi "x0 * x0".
- Tekan OK, OK, dan OK setelah selesai membuat asal.
- Ini baru asal akan menghitung kuadrat dari nilai yang diwakili oleh ensemble ini.
- Jika Anda menghubungkan new origin/asal baru untuk ansambel Gabungan bukan X asal standar, jaringan akan menghitung x2y bukan xy. [Catatan: Untuk menghapus proyeksi X asal, seret jauh dari Gabungan populasi. Klik kanan akhir baris dan pilih Hapus untuk menghapus proyeksi sama sekali.].
3.4 Feedback and Dynamics
3.4.1 Menyimpan Informasi Selama Waktu: Membangun sebuah Integrator
- Dasar dari banyak model kognitif kita adalah integrator. Secara matematis, output dari jaringan ini harus menjadi integral dari input ke jaringan ini :
- Secara praktis, ini berarti bahwa jika input ke jaringan adalah nol, maka outputnya akan tinggal di apa pun Value/nilainya saat ini di. Hal ini membuat dasar dari sistem saraf memori, sebagai representasi dapat disimpan dari waktu ke waktu.
- Integrator juga sering digunakan dalam sistem sensorimotor, seperti kontrol mata
- Untuk integrator, ansambel saraf perlu terhubung ke dirinya sendiri dengan berat transformasi 1, dan memiliki masukan dengan berat? , Yang sama dengan waktu yang konstan sinaptik dari neurotransmitter yang digunakan.
- Buat ensemble satu dimensi disebut Integrator. Gunakan 100 neuron dan radius 1.
- Tambahkan dua terminasi dengan konstanta waktu sinaptik dari 0.1s. Hubungi pertama masukan dan memberikan berat 0,1. Panggil yang kedua umpan balik dan memberikan bobot 1.
- Buat Fungsi masukan baru menggunakan Fungsi Konstan dengan nilai 1.
- Hubungkan masukan Fungsi untuk terminasi masukan.
- Hubungkan asal X ensemble kembali ke pemutusan umpan balik sendiri.
- Pergi ke Plot Interaktif. Buat grafik untuk nilai ensemble (klik kanan pada ensemble dan pilih "Value").
- Tekan Play untuk menjalankan simulasi. Nilai yang tersimpan dalam ansambel linear harus meningkatkan, mencapai nilai 1 setelah sekitar 1 detik.
- Anda dapat menambahkan jumlah waktu yang ditunjukkan pada grafik di Plot interaktif. Lakukan ini dengan mengklik kecil panah ke bawah-menunjuk di bagian bawah jendela. Ini akan mengungkapkan berbagai pengaturan untuk plot Interaktif. Mengubah "waktu yang ditampilkan" untuk 1.
3.4.2 Rentang Representasi
- Apa yang terjadi jika simulasi sebelumnya berlangsung selama lebih dari satu detik?
- Nilai yang disimpan dalam ensemble tidak meningkat setelah titik tertentu. Hal ini karena semua ansambel saraf memiliki rentang nilai mereka dapat mewakili (jari-jari), dan tidak dapat secara akurat mewakili di luar kisaran tersebut.
- Sesuaikan radius ensemble 1,5 baik menggunakan Configure interface atau script console(that.radii = [1,5]). Jalankan model lagi. Sekarang harus akurat mengintegrasikan sampai maksimal 1,5.
3.4.3 Complex Input
- Kita juga dapat menjalankan model dengan input yang lebih kompleks. Mengubah masukan Fungsi menggunakan perintah berikut dari konsol skrip (setelah mengklik dalam hitam model mengedit antarmuka mode). Tekan Ctrl-1 (Command-1 OS X) untuk menunjukkan konsol skrip:
- that.functions = [ca.nengo.math.impl.PiecewiseConstantFunction ([0.2,0.3,0.44,0.54,0.8,0.9], [0,5,0,
- Anda dapat melihat apa fungsi ini tampak seperti dengan mengklik kanan di dalam editing interface dan memilih "plot function "(Catatan: Fungsi indeks = 0, = 0 Mulai, Increment = 0,001, End = 1).
- Kembali ke Plot interaktif dan jalankan simulasi.
3.4.4 Mengatur Waktu Synaptic Konstanta
- Anda dapat mengatur keakuratan integrator dengan menggunakan neurotransmitter yang berbeda.
- Mengubah terminasi masukan untuk memiliki tau dari 0,01 (10 ms: GABA) dan transformasi dari 0,01 menggunakan inspektur. Juga mengubah penghentian umpan balik untuk memiliki tau dari 0,01 (tapi tinggalkan yang mengubah pada 1).
- Dengan menggunakan konstanta waktu yang lebih singkat, dinamika jaringan lebih sensitif terhadap variasi skala kecil (yaitu kebisingan).
- Hal ini menunjukkan betapa pentingnya penggunaan neurotransmitter tertentu, dan mengapa ada begitu banyak berbeda tipe dengan konstanta waktu jauh berbeda-beda.
- AMPA: 2-10ms .
- GABA: subscript: A: 10-20ms.
- NMDA: 20-150ms.
- Rincian sebenarnya dari konstanta waktu ini berbeda-beda di otak juga. Kami mengumpulkan data empiris pada ini dari berbagai sumber di http://ctnsrv.uwaterloo.ca/cnrglab/node/246.
- Anda juga bisa menjalankan contoh ini menggunakan "integrator.py" di direktori demo.
3.4.5 Controlled Integrator
- Kita juga bisa membangun sebuah integrator di mana transformasi umpan balik (1 dalam model sebelumnya) dapat dikontrol.
- Hal ini memungkinkan kita untuk membangun sebuah filter tunable.
- Hal ini membutuhkan penggunaan perkalian, karena kita perlu mengalikan dua nilai yang disimpan bersama-sama. Ini ditutupi di bagian sebelumnya dari tutorial.
- Kita dapat menerapkan efisisensi ini dengan menggunakan ensemble dua dimensi. Satu dimensi akan memegang nilai yang diwakili, dan dimensi lainnya akan menahan berat transformasi.
- Membuat ansambel saraf dua dimensi dengan 225 neuron dan radius 1,5.
- Buat tiga terminasi berikut:
- Input: konstanta waktu dari 0.1, 1 dimensi, dengan matriks transformasi [0.1 0]. Ini bertindak dalam sama sebagai masukan dalam model sebelumnya, tetapi hanya mempengaruhi dimensi pertama.
- Kontrol: konstanta waktu dari 0.1, 1 dimensi, dengan matriks transformasi [0 1]. Ini menyimpan sinyal kontrol masukan ke dalam dimensi kedua ensemble.
- Umpan balik: konstanta waktu dari 0.1, 1 dimensi, dengan matriks transformasi [1 0]. Ini akan menjadi digunakan dalam cara yang sama seperti penghentian umpan balik dalam model sebelumnya.
- Buat asal baru yang mengalikan nilai-nilai dalam vektor bersama-sama :
- Ini adalah persis sama dengan multiplier pada bagian sebelumnya dari tutorial ini.
- Ini adalah output 1 dimensi, dengan Fungsi User-didefinisikan x0 x1 *.
- Buat dua input fungsi yang disebut input dan kontrol. Mulailah dengan fungsi Konstan dengan nilai 1.
- Gunakan konsol script untuk mengatur fungsi input dengan mengkliknya dan memasuki fungsi input sama dengan digunakan di atas: that.functions = [ca.nengo.math.impl.PiecewiseConstantFunction ([0.2,0.3,0.44,0.54,0.8,0.9], [0,5,0, -].
- Hubungkan fungsi input penghentian input, fungsi kontrol dengan pemutusan kontrol, dan asal produk dengan pemutusan umpan balik.
- Pergi ke Plot interaktif dan menunjukkan grafik untuk nilai ansambel (klik kanan-> X-> value). Jika Anda menjalankan simulasi, grafik ini akan menunjukkan nilai-nilai dari kedua variabel yang disimpan dalam ansambel ini (nilai yang terintegrasi dan sinyal kontrol). Untuk kejelasan, matikan tampilan sinyal cotrol dengan mengklik kanan pada grafik dan menghapus tanda centang di samping "v [1]".
- Kinerja model ini harus sama dengan yang ada pada integrator non-dikendalikan.
- Sekarang menyesuaikan kontrol input menjadi 0,3 bukannya 1. Ini akan membuat integrator menjadi integrator bocor. Nilai ini menyesuaikan seberapa cepat integrator lupa dari waktu ke waktu.
- Anda juga bisa menjalankan contoh ini menggunakan "demo / controlledintegrator.py"
3.5 Model Kognitif
3.5.1 Larger Systems
- Sejauh ini, kita telah melihat bagaimana menerapkan berbagai komponen dasar:
- Representasi.
- Transformasi linear.
- Transformasi non-linear.
- Umpan balik
- Hal ini dimungkinkan untuk menggunakan komponen ini untuk membangun model kognitif penuh menggunakan neuron spiking (lihat http://nengo.ca/build-a-brain):
- Dibatasi oleh sifat sebenarnya dari neuron nyata dalam otak yang nyata (jumlah neuron, konektivitas, neurotransmiter, dll).
- Bahwa harus mampu menghasilkan prediksi perilaku dalam hal waktu, akurasi, efek lesi, obat perawatan, dll.
- Beberapa contoh sederhana
- Motor kontrol
- Mengambil model kontrol teknik yang ada untuk apa sudut untuk memindahkan sendi untuk menempatkan tangan pada posisi tertentu: terbuka "demo / armcontrol.py".
- Braitenberg kendaraan
- Menghubungkan sensor jarak untuk motor berlawanan pada robot beroda: terbuka "demo / vehicle.py".
- Motor kontrol
3.5.2 Binding Semantic Pointers (SPs)
- Kami ingin memanipulasi keadaan representasional canggih (ini adalah tujuan menggambarkan Semantic Pointer Architecture (SPA, http://nengo.ca/build-a-brain)).
- Operasi utama untuk memanipulasi representasi dalam SPA adalah konvolusi melingkar (untuk mengikat) .
- Mari kita menjelajahi sirkuit mengikat bagi pointer semantik.
- Masukan: Dua pointer semantik (vektor dimensi tinggi).
- Output: Satu pointer semantik (mengikat dua asli).
- Implementasi: perkalian elemen-bijaksana DFT (yaitu, lingkaran lilitan) (Catatan: ada drag dan drop template untuk operasi ini): open "demo / convolve.py".
- Untuk mengatasi vektor dimensi tinggi, kita tidak ingin harus mengatur setiap nilai individu untuk setiap vektor:
- Akan membutuhkan 100 kontrol untuk mengkonfigurasi vektor 100-dimensi tunggal.
- Plot Nengo Interaktif memiliki khusus "pointer semantik" grafik untuk kasus ini dimensi tinggi:
- Alih-alih menunjukkan nilai dari setiap elemen dalam vektor (seperti dengan grafik normal), itu menunjukkan kesamaan antara vektor saat ini diwakili dan semua vektor yang dikenal .
- Berapa banyak seperti CAT ini? Berapa banyak seperti ANJING? Berapa banyak seperti RED? Berapa banyak seperti TRIANGLE? ".
- Anda dapat mengkonfigurasi perbandingan ditampilkan menggunakan menu klik kanan .
- Anda juga dapat menggunakannya untuk _set_ isi dari kelompok saraf dengan mengklik kanan dan memilih "nilai yang ditetapkan". ini akan memaksa neuron untuk mewakili pointer semantik yang diberikan. Anda dapat kembali ke perilaku normal oleh memilih "value release".
- Gunakan menu klik kanan untuk mengatur nilai-nilai masukan untuk "a" dan "b". Outputnya harus sama dengan "a * b".
- Hal ini menunjukkan bahwa jaringan mampu menghitung operasi konvolusi melingkar, yang mengikat dua pointer semantik untuk membuat yang ketiga.
- Gunakan menu klik kanan untuk mengatur nilai-nilai masukan untuk "a" dan "~ a * b". Outputnya harus serupa dengan "b" (Catatan: ~ Adalah sebuah operator terbalik perkiraan).
- Hal ini menunjukkan bahwa konvolusi dapat digunakan untuk mengubah representasi melalui mengikat dan tidak mengikat, karena "A * (~ a * b)" adalah sekitar "b".
3.5.3 Control and Action Selection: Basal Ganglia
- Catatan: Banyak dari apa berikut diringkas dalam Chp 5 dari "Bagaimana membangun otak," dan dapat dibangun dengan menggunakan drag dan drop template di Nengo (khususnya, Basal Ganglia, BG Rule, Thalamus, Binding, Gate, dan integrator).
- Juga lihat relevan "demo" bagian dari dokumentasi: (http://nengo.ca/docs/html/demos/demos.html # basalganglia-based simulation).
- Cukup banyak setiap model kognitif memiliki komponen pemilihan tindakan dengan fitur ini:
- Dari banyak hal yang mungkin dapat Anda lakukan sekarang, pilih salah satu.
- Biasanya dipetakan ke ganglia basal.
- Beberapa jenis pemenang-mengambil-semua perhitungan didasarkan pada seberapa cocok berbagai tindakan yang mungkin adalah dengan situasi saat ini.
- Masukan: Sebuah vektor yang mewakili seberapa baik setiap tindakan (misalnya, [0,2, 0,3, 0,9, 0,1, 0,7]).
- Output: tindakan yang mengambil ([0, 0, 1, 0, 0]).
- Sebenarnya, output dari ganglia basal adalah penghambat, sehingga output lebih seperti [1, 1, 0, 1, 1].
- Implementasi
- Bisa mencoba melakukannya sebagai fungsi langsung.
- Fungsi sangat non-linear.
- Akurasi Rendah
- Bisa melakukannya dengan mendirikan interkoneksi hambat.
- Seperti integrator, tetapi setiap nilai di atas nol juga akan bertindak untuk mengurangi orang lain.
- Sering digunakan dalam non-spiking jaringan saraf (misalnya PDP + +) untuk melakukan k-pemenang-take-all.
- Namun, Anda harus menunggu untuk jaringan untuk menyelesaikan, sehingga dapat menjadi agak lambat.
- Gurney, Prescott, & Redgrave (2001) (Dalam Nengo ada drag and drop untuk template yang BG ini model).
- Model seleksi tindakan dibatasi oleh konektivitas dari ganglia basal.
- Masing-masing komponen menghitung fungsi berikut:
- Model mereka menggunakan neuron tingkat realistis dengan fungsi yang untuk output.
- Kita dapat menggunakan populasi neuron spiking dan menghitung fungsi.
- Kita juga bisa menggunakan nilai waktu yang tepat untuk neurotransmitter yang terlibat:
- demo buka / basalganglia.py.
- Atur kontrol input untuk mengubah lima nilai utilitas yang dipilih.
- Grafik menunjukkan output dari ganglia basal (setiap baris menunjukkan tindakan yang berbeda) .
- Tindakan yang dipilih adalah yang diatur ke nol.
- Comparison to neural data(Perbandingan Data Syaraf)
- Ryan & Clark, 1991
- Menstimulasikan daerah di medial orbitofrontal cortex, mengukur dari GPI, melihat berapa lama waktu yang dibutuhkan untuk respon terjadi.
- Untuk mereplikasi
- Mengatur Input untuk [0, 0, 0,6, 0, 0].
- Jalankan simulasi sedikit, kemudian pause.
- Mengatur input untuk [0, 0, 0.6, 1, 0].
- Lanjutkan simulasi.
- Mengukur berapa lama waktu yang dibutuhkan untuk neuron untuk tindakan keempat untuk menghentikan penembakan.
- Pada jarak: 14-17ms. Dalam model: 14ms (atau lebih jika arus disuntikkan tidak sangat besar).
- Untuk rinciannya, lihat Stewart et al. 2010 (http://ctnsrv.uwaterloo.ca/cnrglab/node/53).
3.5.3 Sequences Actions / Urutan Aksi
- Untuk melakukan sesuatu yang berguna dengan sistem pemilihan tindakan kita perlu dua hal:
- Sebuah cara untuk menentukan utilitas dari setiap tindakan yang diberikan konteks saat ini.
- Sebuah cara untuk mengambil output dari pilihan tindakan dan memilikinya mempengaruhi perilaku.
- Kami melakukan ini dengan menggunakan representasi arsitektur pointer semantik :
- Setiap negara kognitif direpresentasikan sebagai vektor dimensi tinggi (pointer semantik).
- Menyimpan memori Working pointer semantik (menggunakan integrator).
- Hitung utilitas dari suatu tindakan dengan menghitung dot product antara kondisi saat ini dan negara untuk tindakan (yaitu bagian IF dari aturan produksi IF-THEN).
- Ini adalah operasi linear, sehingga kita dapat langsung menghitung dengan menggunakan bobot hubungan antara korteks dan basal ganglia.
- The THEN porsi aturan mengatakan apa pointer semantik untuk mengirim ke bidang otak. Ini lagi operasi linear yang dapat dihitung pada output dari thalamus menggunakan output dari ganglia basal.
- Contoh sederhana:
- Lima kemungkinan: A, B, C, D, dan E.
- Aturan untuk IF A THEN B, IF B THEN C, IF THEN C D, D IF THEN E, IF E THEN A.
- Lima aturan produksi (pemetaan pointer semantik) bersepeda melalui lima negara: demo buka / sequence.py .
- Dapat mengatur isi memori kerja dalam Plot interaktif dengan membuka grafik SP, klik kanan di atasnya, dan memilih "nilai yang ditetapkan" (gunakan "value release" untuk memungkinkan model untuk mengubah isi).
- Siklus waktu sekitar 40ms, sedikit lebih cepat dari nilai standar 50ms digunakan dalam ACT-R, Melambung, EPIC, dll.
- Hal ini tergantung pada waktu yang konstan untuk neurotransmitter GABA.
4 STUDI KASUS
4.1 Deskripsi Sistem
4.2 Spesifikasi Desain
4.3 Implementasi
4.3.1 Perbandingan Error antara 1D dan 2D Dalam Fungsi Ruang
4.3.1.1 Bump
4.3.1.2 Bumps
4.3.1.3 Bumps
4.4 Pengaruh Representasi Dimensi
4.5 Pengaruh Jumlah Penduduk
4.6 Analisis Stabilitas
4.7 Pembahasan
5 PENUTUP
5.1 Kesimpulan
Bibliography
[1] C. Eliasmith and C. H. Anderson, Neural Engineering. Massachusetts Institue of Technology, 2003.
[2] C. Colby and M. Goldberg, Space and attention in parietal cortex, Annual review of Neuroscience, vol. 22, no. 1, pp. 319349, 1999.
[3] R. Andersen, L. Snyder, D. Bradley, and J. Xing, Multimodal representation of space in the posterior parietal cortex and its use in planning movements, Annual Review of Neuroscience, vol. 20, no. 1, pp. 303330, 1997.
[4] K. Zhang, Representation of spatial orientation by the intrinsic dynamics of thehead-direction cell ensemble: a theory, Journal of Neuroscience, vol. 16, no. 6,pp. 21122126, 1996.
[5] Egia Anita Tarigan, “Sejarah dan Neurosains Kogniti”f, http://egiatigan.blogspot.com/2013/03/sejarah-dan-neurosains-kognitif.html
[6] Wikipedia, “Bayesian Network”, http://en.wikipedia.org/wiki/Bayesian_network
[7] Wikipedia, “Neural Engineering Object”, http://en.wikipedia.org/wiki/Neural_Engineering_Object
[8] Anonim, “Pengertian Simulasi”. http://seaparamita.blogspot.com/2009/08/pengertian-simulasi_29.html
T0 :
Job Description
Minutes of Meeting
Demikianlah Artikel BELIEF NETWORK SIMULATOR
Anda sekarang membaca artikel BELIEF NETWORK SIMULATOR dengan alamat link https://kursuskomputermadiunbersertifikat.blogspot.com/2014/07/belief-network-simulator.html

0 Komentar untuk "BELIEF NETWORK SIMULATOR"