Hallo,
ich würde gerne einige Neuron beim Training abschalten (dropout) um ein Overfitting zu vermeiden. Wie realisiere ich dies mit der DLL in VB6?
Overfitting und Dropout
Re: Overfitting und Dropout
Hallo,
dazu müssen Sie in den Properties der betreffenden Neuronen die Eigenschaft 'lockActThres' auf TRUE bzw. auf 1 setzen:
analog gilt dies für die Eigenschaft 'lockWeight' von Links:
dazu müssen Sie in den Properties der betreffenden Neuronen die Eigenschaft 'lockActThres' auf TRUE bzw. auf 1 setzen:
Code: Select all
' Properties of a Neuron
Private Type NeuronProp
act As Double
actFunc As Long ' see const definitions below
actThres As Double
lockActThres As Long
actSustain As Double ' 0..1
outputFireLevel As Long ' see const definitions below
outputRecovTime As Long ' 1..100000
fireThresLow As Double ' fireThresHi must be >= fireThresLo
fireThresHi As Double ' fireThresHi must be >= fireThresLo
useNormalization As Long
normRangeLow As Double
normRangeHigh As Double
useActIgnoreVal As Long
actIgnoreVal As Double
expLogistic As Double
parmTanHyp As Double
allowTeacherOutputConnect As Long
displayName As Long
displayAct As Long
isPixel As Long
width As Long
End Type
Code: Select all
' Properties of a Link
Private Type LinkProp
weight As Double
lockWeight As Long
length As Long ' 1..10000
displayWeight As Long
End Type
Dazu zuerst das betreffende Neuron selektieren, die Eigenschaften mit 'MB_GetSelectedNeuronProp' lesen, den Structmember auf 1 setzen und dann wieder zurückschreiben mit 'MB_SetSelectedNeuronProp'.
Bzgl. der Selektion der Neuronen und/oder Links: Um hier weiter diskutieren zu können, müsste ich wissen, um welche Neuronen/Links es geht. Um einen ganzen Layer z.B.?
Viele Grüße
Thomas Jetter