BrainMaker

BrainMaker, produkt California Scientific Software jest programem działającym na zasadzie sieci neuronowej. Oznacza to, że wspomaga podejmowanie decyzji użytkownika "ucząc się" na jego błędach i własnych. W USA sprzedano ponad 16 tys. jego egzemplarzy. Pakiet dostarczany jest w wersji "głupiej". Wszystkich umiejętności musi nauczyć go użytkownik. "Uczenie" sieci neuronowej odbywa się przez podanie do analizy jak największej liczby przypadków.

BrainMaker, produkt California Scientific Software jest programem działającym na zasadzie sieci neuronowej. Oznacza to, że wspomaga podejmowanie decyzji użytkownika "ucząc się" na jego błędach i własnych. W USA sprzedano ponad 16 tys. jego egzemplarzy. Pakiet dostarczany jest w wersji "głupiej". Wszystkich umiejętności musi nauczyć go użytkownik. "Uczenie" sieci neuronowej odbywa się przez podanie do analizy jak największej liczby przypadków.

Zanim omówimy działanie programu przypomnijmy na czym polega zasada pracy sieci neuronowej. Jest to komputerowy model komórek wzorowany na budowie mózgu. Ten (stąd nazwa sieci) składa się z wielu neuronów, powiązanych między sobą gęstą pajęczyną wzajemnych połączeń. Informatyczna sieć neuronowa złożona może być z wielu setek tysięcy symulowanych neuronów, połączonych ze sobą siecią wzajemnych powiązań.

Symulowane neurony pogrupowane są w warstwy. Użytkownik ma kontakt jedynie z dwiema zewnętrznymi warstwami: wejściową i wyjściową, tworzącymi coś w rodzaju interfejsu użytkownika. Reszta warstw, razem z kombinacją wzajemnych połączeń, tworzy tzw. warstwy ukryte. Podczas sesji treningu (uczenia) sieci, następuje samoczynne ustalanie się stopnia ważności poszczególnych połączeń, stosownie do przewidywanego przez użytkownika zadania.

Tworzenie sieci neuronowej

Tworzenie sieci rozpoczyna się od zebrania odpowiednio dużej liczby przykładów, które muszą zawierać dane wejściowe i wyjściowe (wyniki). Po odpowiednim treningu są one główną bazą "mądrości" sieci. Na podstawie ich analizy, sieć potrafi przewidywać wartości przyszłe dla problemów, których dotąd nie znała. Do przygotowania danych wejściowych z reguły służą programy pomocnicze, za pomocą których można stworzyć wszystkie informacje, potrzebne sieci do treningu i testów.

Trening sieci, czyli samoregulacja wewnętrznych połączeń między symulowanymi neuronami odbywa się na podstawie zbioru danych, które muszą zawierać informacje wejściowe i wyjściowe. Nauka kończy się w momencie, w którym sieć na konkretny zestaw informacji wejściowych, podaje na wyjściu właściwą odpowiedź.

Testowanie sieci polega na podawaniu na wejściu nowych, nieznanych dotąd przykładów i sprawdzaniu rezultatów. Jeśli wyniki będą prawidłowe (lub prawdopodobne), to sieć jest gotowa do użycia. W przypadku wyników nieprawidłowych, należy trening uzupełnić lub stworzyć sieć od początku.

Domyślna sieć

Sieć neuronowa uczy się metodą prób i błędów, analizując podawane wielokrotnie te same przykłady, zawierające informację wejściową i wyjściową (wynikową). Nauka odbywa się nie przez zaprogramowanie, lecz przez zdobywanie doświadczenia w rozwiązywaniu zadawanych problemów - przypomina to sposób gromadzenia wiedzy przez człowieka. Sieci neuronowe są mało wrażliwe na niezbyt doskonałe dane. Nie wymagają podawania żadnych reguł - dochodzą do nich same, na podstawie własnych "doświadczeń z danymi".

BrainMaker v 3.0

Pakiet składa się z dwóch części: programu głównego Brain Maker i narzędzia do obsługi danych na wejściu i wyjściu NetMaker, który potrafi odczytywać formaty Lotusa, Excela, dBase, pliki binarne i kody ASCII, ułatwiając w ten sposób przygotowywanie zbiorów danych dla treningu sieci i dla późniejszych obliczeń. Pozwala także na wizualizację danych wynikowych.

Program główny, BrainMaker, potrafi obsługiwać jednocześnie 512 zmiennych. Trenowanie sieci (na standardowym sprzęcie PC, 486) odbywa się z szybkością 600 tys. połączeń neuronowych na sekundę. W skład programu wchodzi 5 typów neuronów. Pojedyncza warstwa składa się z 512 neuronów, a w całym programie jest 8 warstw ukrytych. Liczba połączeń między warstwami wynosi 32 747. Użycie BrainMakera nie wymaga znajomości żadnych języków programowania, a jego komunikacja z użytkownikiem odbywa się za pomocą rozwijalnych, okienkowych menus.

BrainMaker Professional V 3.0

Jest to wersja bogatsza od poprzednio omówionej. W jednej warstwie zawiera 8192 neurony, wykorzystuje pamięć rozszerzoną XMS i EMS. Kod źródłowy sieci generowany jest w języku C, co pozwala na dołączanie komputerowej gotowej, wytrenowanej sieci do innych aplikacji użytkownika. Umożliwia tworzenie sieci rekurencyjnych tzn. zawierających dodatkowe sprzężenia zwrotne. Ma też opcję, pozwalającą na usuwanie zbędnych połączeń i neuronów. Profesjonalna wersja BrainMakera ma wbudowaną opcję treningu genetycznego - automatycznie tworzy wiele sieci, dających podobne wyniki, automatycznie je testuje i wybiera tę, która działa najlepiej. "Ewolucja genetyczna" pozwala na tworzenie mutacji sieci, sieci potomnych itp., a mechanizmy optymalizacji pozwalają wybrać z nich najlepiej działającą.

Zastosowania

Programy, zbudowane w oparciu o ideę sieci neuronowych, znajdują zastosowanie przede wszystkim w rozpoznawaniu obrazów (militaria!) oraz wszędzie tam, gdzie istnieje potrzeba przewidywania: finanse (kursy walut, wskaźniki giełdowe), medycyna (analiza obrazu), ubezpieczenia (gdzie programy służą do przewidywanie czasu życia klientów). Wśród zastosowań przemysłowych należy wymienić m.in. stosowanie go do kontroli jakości, przewidywania właściwości nowych tworzyw sztucznych, analizy składu chemicznego. Intel stosuje go do testowania układów scalonych i do analizy błędów produkcyjnych.

W Polsce, programem zainteresowało się kilka instytutów naukowych i uczelni. Poza tym, program zakupiło kilka biur maklerskich i banków. Jednak po ubiegłorocznym załamaniu na giełdze a następnie wprowadzeniu podatku od giełdowych obrotów, zainteresowanie programem wyraźnie spadło.

Polonizator produktu, wrocławska firma Arkus Electronic powoli wycofuje się z dystrybucji tego programu, opracowując własny trochę prostszy produkt wykorzystujący technikę sieci neuronowych i nie wymagający dodatkowego wyposażenia w postaci specjalizowanego sprzętu.

Wymagania sprzętowe

BrainMaker v3.0 nie ma zbyt wielkich wymagań sprzętowych i może działać na platformach IBM/PC AT, PS/2 , wyposażonych w 1MB pamięci operacyjnej RAM i system operacyjny nie wcześniejszy niż MS-DOS 5.0, albo na platformie Apple Macintosh z 512 kB pamięci RAM i systemom operacyjnym Mac OS 6 lub 7. Jednak proces "uczenia" programu - budowa właściwej sieci neuronowej, jest na minimalnych konfiguracjach sprzętu procesem bardzo długim. W celu ułatwienia życia użytkowników, opracowano wiele specjalistycznego sprzętu, przyśpieszającego pracę programu: płyta akceleratora z układem scalonym TSM 320c25DSP realizuje 3 mln połączeń/s, a profesjonalna płyta, zawierająca 5 takich układów, może realizować 40 mln połączeń/s. Obie wersje BrainMakera wymagają w zasadzie akceleratorów w fazie budowy sieci neuronowej.

Nowa giełda

Dystrybutor oprogramowania na rynku polskim, dostarcza wraz z pakietem BrainMaker gotową, wytrenowaną sieć neuronową, przewidującą zachowanie akcji na Warszawskiej Giełdzie Papierów Wartościowych, jednak z pewnymi ograniczeniami: dostępna jest jednokrotna instalacja na twardym dysku bez możliwości odinstalowania na dyskietkę i tylko 30 uruchomień programu.


TOP 200