232
Program dopuszcza istnienie dowolnej ilości warstw o funkcji aktywacji neuronów w każdej warstwie zadawanej indywidualnie. Do wyboru pozostaje funkcja liniowa lub funkcja sigmoidalna przyjęta w postaci
Zadawanie struktury sieci przez użytkownika odbywa się za pośrednictwem pliku wejściowego (standardowe rozszerzenie .net). Struktura pliku ma następującą postać:
{Neural Net work: | |
(Layer:[/;V/J| :Layer) |
n = N |
|Layer:[l] |
n = N |
:Layer} | |
(Layer:[/n] :Layer} :NeuralNetwork} |
n = N |
bias = P |
firn = Lin[ P ] |
bias = P |
fun = Siginf p ] |
bias = P |
fun = Sigm| p | |
%Począlek pliku % \Varst wa wej śc i o wa
% Warstwa #1 %Warstwa #/n
Program zaczyna się linią {Neural NetWork: a kończy linią \Nettral NetWork} lub nawiasem klamrowym zamykającym}. Każda linia pliku definiuje jedną warstwę neuronów, poczynając od warstwy wejściowej | INP], po której następują kolejne
warstwy ukryte fl|, |2|..... [w|, gdzie m oznacza jednocześnie warstwę wyjściową.
Wyrażenie n = N definiuje liczbę N neuronów w warstwie. Deklaracja opcjonalna hias deklaruje istnienie połączenia neuronów w warstwie z polaryzacją P, przy czym zwykle P przyjmuje wartość równą I lub 0. W przypadku wartości zerowej deklaracja ta może być pominięta. Ostatnie wyrażenie w linii jest deklaracją typu funkcji aktywacji. Funkcja sigmoidana zapisana jest jako Sigm[(5]» gdzie p jest współczynnikiem występującym w funkcji sigmoidalnej. Standardowa wartość wbudowana p = 1 przyjmowana jest zawsze, jeśli nie jest jawnie zadeklarowana przez użytkownika. Pominięcie deklaracji Sigm w linii lub przyjęcie Lin jesl równoznaczne z przyjęciem liniowej funkcji aktywacji.
Dane uczące sieć przygotowane są w pliku z rozszerzeniem .inp. Składają się z szeregu linii definiujących wektory wejściowe X oraz wartości zadane wyrażone za pomocą wektorów d. Plik ma następującą strukturę:
{NetworkSignałs:
(Inp:
*1 X2 ’ ” XN Dest: d{ d7%-
%Początek pliku %Począlek próbki uczącej %Składowe wektora X %S kładowe wektora d %Koniec próbki uczącej
I