Zapoznaj się z naszymimateriałami na stronie

🚩 Ćwiczenie: Omijanie przeszkód

Materiały:

  • Co najmniej 1 robot
  • 1 komputer/robot
  • Arena podstawowa

Ustawienia:

  • Uczenie nadzorowane – omijanie przeszkód (prosta wersja)

Czas trwania:

30 minut

Wiek:

od 8 lat

Zalety tej aktywności:

  • Bardzo mała liczba punktów danych.
  • Łatwe do zrozumienia nawet dla najmłodszych dzieci.
  • Wprowadza złożone pojęcia, aby pogłębić zrozumienie.

Polecane do odkrywania poprzez zabawę

To ćwiczenie stanowi doskonałe wprowadzenie do sztucznej inteligencji dzięki wykorzystaniu czujnika ultradźwiękowego oraz szczegółowemu wyjaśnieniu, w jaki sposób robot podejmuje decyzję. Robot jest najpierw szkolony przez ucznia przy użyciu bardzo ograniczonej liczby punktów danych, a następnie działa bez zarzutu, co pozwala nam lepiej zrozumieć proces podejmowania decyzji przez robota.

Prezentacja wideo

Wprowadzenie

Zbuduj arenę w kształcie kwadratu. Zalecamy skorzystanie z areny zaprojektowanej przez Learning Robots, ale możesz również zbudować własną arenę.

Konfiguracja

Konfigurację oprogramowania można przeprowadzić ręcznie lub automatycznie.

Aby skonfigurować to automatycznie:

Ustawienia > Załaduj przykładowe ustawienia > Uczenie nadzorowane – Omijanie przeszkód (proste)

Konfigurację można również przeprowadzić ręcznie, postępując zgodnie z poniższymi wskazówkami.

  • Czujniki > Ultradźwiękowe
  • Akcje > Przesuń w przód, Obróć
  • AI > Rodzaj uczenia się: „Uczenie nadzorowane”, Algorytm: „sieć neuronowa”, Szybkość uczenia się: „0,02”, Warstwy neuronów pośrednich: puste.
  • Wizualizacja > Wybierz: „animacja”, „połączenia”, „aktywność synaptyczna”, „wartości wejściowe/wyjściowe”

Trening

Nauka obsługi robota mBot wymaga zaledwie dwóch czynności:

Nauczyć go iść prosto, gdy nie ma przeszkód.
Nauczyć go skręcać (w prawo lub w lewo), jeśli napotka przeszkodę.


Dalej:

Usuń wszystkie przedmioty znajdujące się przed robotem, a następnie naciśnij klawisz strzałki „⇧” na klawiaturze lub kliknij opcję „Ruszaj” po prawej stronie ekranu. 

Obróć:

Umieść przedmiot przed robotem i naciśnij klawisz strzałki „⇦” lub „⇨” na klawiaturze albo kliknij opcję „Obróć w prawo” po prawej stronie ekranu.

UDAŁO SIĘ!

Twój robot jest już gotowy! Teraz naciśnij spację lub kliknij opcję „autonomiczny” w lewym dolnym rogu ekranu i pozwól robotowi swobodnie się poruszać oraz reagować na przeszkody na swojej drodze.

Warto zapamiętać: 

W uczeniu nadzorowanym sztuczna inteligencja jest szkolona na podstawie przykładów. Sztuczna inteligencja dostosowuje swoje zachowanie tak, aby odtworzyć te przykłady.

Zrozumienie

Część 1

W jaki sposób robot podejmuje decyzje?

Wyłącz tryb „Autonomiczny” i „Uczenie się”, klikając ponownie odpowiednie przyciski:

Każdy z małych kwadratów przedstawia neuron. Można zauważyć, że w przypadku neuronu wejściowego (po lewej) wartość rośnie wraz ze wzrostem odległości (wartość ta jest równa odległości w metrach). Wartość neuronu nazywana jest poziomem aktywacji.

Jeśli chodzi o 3 neurony wyjściowe (po prawej), każdy z nich otrzymuje obliczoną wartość. Wybrana zostanie akcja odpowiadająca najwyższej wartości. Jeśli nie ma przeszkody, to akcja, którą podajemy robotowi jako przykład w sytuacji braku przeszkody, uzyskuje najwyższą wartość. W naszym przypadku jest to akcja „Ruszaj do przodu”.

Bez przeszkód „Jazda do przodu” = 6,39 „Skręt” = -6,23:

Z przeszkodą „Naprzód” = -0,24 „Skręt” = 3,28:

Część 2

W jaki sposób oblicza się poziom aktywacji neuronów? 

Przełącz oprogramowanie w tryb zaawansowany: Ustawienia > Wyświetlanie ustawień > Zaawansowane.

Następnie wyświetl wartości, które nas interesują: Widok > Wartości połączeń.

Pojawia się 6 nowych wartości:

Trzy „wagi” połączeń między neuronami. (na czarno, obok symbolu *)

Trzy „odchylenia neuronowe” lub „wartości spoczynkowe”: umieszczone na połączeniach obok każdego neuronu wyjściowego. (W nawiasach)

Robot wybierze jako działanie wartość wyjściową o najwyższej wartości. Wartości te oblicza się według następującego wzoru:

Wyjście = Wejście * Połączenie + Przesunięcie

4,00 × 2,50 + (-0,79) = 9,20

Część 3

Można zauważyć, że powyższe równanie ma taki sam kształt jak równanie prostej:
y = a x + b.

y = Wyjście, a = Waga połączenia, x = Wejście, b = Przesunięcie

Gdy ujmujemy to równanie w tej postaci, łatwo zrozumieć, że zmiana wartości a, x lub b wpłynie na wynik y.

Możemy zatem sprawdzić poprawność wzoru, zmieniając jedną z tych wartości. Spośród tych wartości istnieje tylko jedna, którą możemy zmienić.

Chodzi o wejście (x). x oznacza bowiem neuron wejściowy. W naszym przypadku neuronem wejściowym jest czujnik ultradźwiękowy robota. Aby zmienić wartość x, wystarczy zbliżyć lub oddalić dłoń lub przedmiot od czujnika ultradźwiękowego robota.

Bardzo blisko przeszkoda

Gdy zbliżymy dłoń bardzo blisko czujnika ultradźwiękowego, wartość wejścia x ulega zmniejszeniu, ponieważ jest ona równa odległości zmierzonej przez czujnik.

Gdy wartość wejścia x jest mała, poziomy aktywacji y neuronów wyjściowych zbliżają się do wartości przesunięcia b.

W tym przypadku przeważa akcja „Obrót”, ponieważ ma największą wartość odchylenia.

Usunąć przeszkodę

Odsuwając dłoń od czujnika, stopniowo zwiększa się wartość wejścia x.

Gdy wartość wejścia x rośnie , poziomy aktywacji y neuronów wyjściowych oddalają się od offsetów neuronowych b. Wartość akcji „Obrót” maleje, ponieważ waga jej połączenia jest ujemna, podczas gdy wartość akcji „Ruch do przodu” rośnie, ponieważ jej połączenie jest dodatnie.

Począwszy od pewnej wartości x, przewagę zyskuje akcja „Avancer”, ponieważ jej wartość przewyższa pozostałe.

Część 4

Zresetuj sztuczną inteligencję

Po zresetowaniu sieci neuronowej wartości połączeń (a) i offsetów (b) są zastępowane wartościami losowymi. Sprawdź to sam!

Gdy trwa proces uczenia się (przycisk „Uczenie się” jest aktywny, a „pamięć doświadczeń” nie jest pusta), wagi połączeń i współczynniki przesunięcia ulegają zmianie: jest to uczenie maszynowe.



+ Pamięć doświadczenia: 36 = Odchylenie (+3,78)







Natomiast gdy proces uczenia się zostanie zatrzymany (przycisk „Uczenie się” jest biały lub „pamięć doświadczeń” jest pusta), wartości połączeń i przesunięć zostają ustalone.



LUB Pamięć doświadczeń: puste = ustalenie na poziomie (+3,78)





Warto zapamiętać:

Uczenie nadzorowane to metoda uczenia maszynowego, która pozwala sieci neuronowej nauczyć się określonego zachowania na podstawie przykładów podanych przez ludzi.

Kiedy sieć neuronowa się uczy, jej parametry wewnętrzne (wagi połączeń i wartości przesunięć) ulegają zmianie. Stają się one stałe po zakończeniu uczenia się.

Bonus

Jeśli chcesz, możesz dodać robotowi nowe czynności i udoskonalić jego program, aby jego ruchy stały się bardziej złożone i naturalne, a także aby mógł łatwiej wydostawać się z ślepych zaułków.

W sekcji „Czynności” dodaj na przykład opcję „Cofnij się” i naucz robota, aby cofał się, gdy znajdzie się zbyt blisko przeszkody.

Można również regulować kąt skrętu. W panelu „Akcje” włącz akcję „Lekki skręt”. Dzięki temu można nauczyć robota wykonywania skrętów o mniejszym lub większym kącie w zależności od odległości od przeszkody.

Uwaga: Gdy robot zbliża się do przeszkody po przekątnej, czujnik ultradźwiękowy nie wykrywa jej prawidłowo. Czy wiesz, dlaczego?

Aby rozwiązać ten problem, przejdź do ćwiczenia 4: Omijanie złożonych przeszkód

Powiązane kierunki studiów