?? history_todo
字號:
[簡介]
項目名稱: ANN
項目全稱: Artificial neuron net
項目開始: 2004年3月份
發(fā) 起 者: 單蘭山 (slsLingJing@sohu.com)
項目描述: 發(fā)展一套函數(shù)庫,用來支持神經(jīng)網(wǎng)絡運算。
當前版本: 0.01.11
[當前任務]
完善hopfield網(wǎng)絡的基本功能
[歷史]
2004-06-01 0.01.011
- 在文件neuron_group.cpp中添加了新的類:NeuronSimpleGroup,用來描述一組神經(jīng)元
- 文件bp/bpneuron.h和bp/bpneuron.cpp中的類BPLayer即BP網(wǎng)絡神經(jīng)元層改由NeuronSimpleGroup派生
原來從NeuronGroup派生, 該類即包括簡單的神經(jīng)元組,也包括由神經(jīng)元組組成的組,
因此從前者派生能獲得更詳細的能力
- 在文件hopfield/hfneuron.h, hopfiled/hfneuron.cpp.cpp中實現(xiàn)了類:HFSimpleGroup
用于描述一組hopfield神經(jīng)元, 該類從NeuronSimpleGroup派生
2004-05-24 0.01.010
- 樣本文件的讀寫
- 添加了設置BP網(wǎng)絡學習速率的函數(shù)
2004-05-16 0.01.009
- 實現(xiàn)了一個讀取和存儲BMP文件的類Bitmap,并實現(xiàn)了簡單的讀寫想素的函數(shù)
目前支持24位真彩圖像和單色位圖兩種Bmp文件
- 實現(xiàn)了一個從特定類型的Bitmap類抽取輸入向量接口的類
2004-05-11 0.01.008
- 添加了新的函數(shù)族:正弦函數(shù)sin和一階導數(shù)為雙取正切函數(shù)六次方的函數(shù)sech6
- 為每個神經(jīng)元、BP網(wǎng)絡及其層都添加了設置輸出函數(shù)的方法
- BP網(wǎng)絡的序列化更新,考慮了神經(jīng)元的輸出函數(shù)名稱
- 實現(xiàn)了樣本集類AnnSampleSet, 并提供了一些常見的樣本:比如與、或運算,宇稱2~9運算的訓練樣本
- 實現(xiàn)了專么為計算函數(shù)提供緩存的類FuncCache,并用它緩存了sech6函數(shù), 但是效果并不理想
2004-05-08 0.01.007
- 網(wǎng)絡隨機化的時候加大了隨機的程度,否則不容易落到收斂區(qū),特別是小的隨機值往往是難收斂的地區(qū)
- 向量類添加了判斷兩個向量相等和輸出到標準輸出的方法
- 向量容器類添加了方法順序地訪問每個向量,以前只能隨機地
- 添加了新的函數(shù)族:階躍函數(shù) - 符號函數(shù)
- 處理多個值的函數(shù)進行了擴展,如果目標數(shù)組為NULL,則直接在輸入數(shù)組更改
- BP網(wǎng)絡的轉(zhuǎn)化函數(shù)converse更正為convert
- BP網(wǎng)絡增加了轉(zhuǎn)化和學習計數(shù)
2004-05-06 0.01.006
- BP神經(jīng)元網(wǎng)絡的序列化
- 編寫一個例程來使用這個庫
- 向量容器接口和類
- 向量接口擴充了一下,可以一次設置和取多個值
- 為每個層增加了輸出值固定為1的神經(jīng)元,結(jié)果發(fā)現(xiàn)沒有它,網(wǎng)絡就只會在一個中間的位置擺來擺去
2004-05-04 0.01.005
- 實現(xiàn)了BP網(wǎng)絡的學習的基本算法
- BP神經(jīng)元網(wǎng)絡的初始化
- 神經(jīng)元網(wǎng)絡的隨機化
2004-05-02 0.01.004
- 在文件vector.h, vector.cpp中寫了一個類AnnVecotr實現(xiàn)向量接口IAnnVector
- 雙曲正切函數(shù)導數(shù)的推導有錯誤,忘記了一個因子2,
發(fā)現(xiàn)我經(jīng)常把數(shù)學公式推倒錯了,看來以后要盡量用書上的
- 將各個函數(shù)組成函數(shù)族,并定義了函數(shù)族類和函數(shù)族工廠來依據(jù)名稱取得函數(shù)族
- 計算函數(shù)在原來的主函數(shù)和其導數(shù)的基礎(chǔ)上增加了由主函數(shù)值到導數(shù)值的計算函數(shù),
并為這三種函數(shù)各添加了對于向量的計算,原來的是針對單個值的。
因此現(xiàn)在每個函數(shù)族有6個計算函數(shù)
2004-04-25 0.01.003
- 使用Visual Studio 2003 編譯通過了整個庫
- 在文件neuron.h, neuron.cpp中為Neuron類添加了另外一個函數(shù)接受其他神經(jīng)元的連接
- 定義了向量和轉(zhuǎn)換器的接口
- 定義了BP網(wǎng)絡的神經(jīng)元、層和網(wǎng)絡的類
- BP網(wǎng)絡對輸入向量響應的計算
- BP網(wǎng)絡層與向量間的導入與導出
2004-03-07 0.01.002
- 推導了雙曲正切函數(shù)和S型函數(shù)的導數(shù),推導完后,我驚訝地發(fā)現(xiàn),他們是一樣的。并用函數(shù)實現(xiàn)了他們:
adf_hyperbola_tangent, adf_sigmoid
- 在文件neuronobj.h, neuronobj.cpp中實現(xiàn)了類NeuronObj作為神經(jīng)元和神經(jīng)元組的統(tǒng)一基類
- 在文件neuron_group.h, neuron_group.cpp中實現(xiàn)了類神經(jīng)元組NeuronGroup, 并為其實現(xiàn)了一個添加神經(jīng)元的函數(shù):
2004-03-01 開始:0.01.001
- 在文件neuron.h, neuron.cpp中實現(xiàn)了類:
軸突類 Axone
突觸類 Synapse
神經(jīng)元基類 Neuron
- 在文件annfunc.h, annfunc.cpp中實現(xiàn)了神經(jīng)元輸出函數(shù):
雙曲正切函數(shù): af_hyperbola_tangent
S型函數(shù): af_sigmoid
正弦函數(shù)和余弦函數(shù): af_sin, af_cos
閥值函數(shù): af_value
[長期任務]
- Hopfield網(wǎng)絡
- 自適應網(wǎng)絡
- 元胞自動機的實現(xiàn)
- 節(jié)奏和結(jié)構(gòu)的學習
- 按照梯度下降的學習算法
- 網(wǎng)絡群
- 網(wǎng)絡速度優(yōu)化裝箱器
- 測試單精度的速度
- BP神經(jīng)網(wǎng)絡學習速度的優(yōu)化
- 位圖處理和GUI接口
- 樣本的批量學習
[疑問]
- 為什么BP網(wǎng)絡從文件中讀出來的雖然隨機化了,但是總有相同的訓練步數(shù)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -