Skip to content

Aktywność

Prosty timer ćwiczeń AI

Średnio zaawansowany | MakeCode | Akcelerometr | Rola człowieka w projektowaniu AI, Uczenie maszynowe, Zbieranie danych, Zrozumienie AI

Wspaniały pierwszy projekt do zbudowania z micro:bit CreateAI. Zrób inteligentny zegar ćwiczeń, który wskaże, jak długo jesteś aktywny lub nieaktywny.

Poradnik projektu krok po kroku

Krok 1: Zrozumieć to

Jak to działa?

W tym projekcie wytrenujesz model uczenia maszynowego (ML) do rozpoznawania, kiedy ćwiczysz i kiedy nie ćwiczysz.

Połączysz ten model z programem w MakeCode, aby wykonać timer ćwiczeń i umieścić ten projekt na swoim BBC micro:bicie. Po prostu noś micro:bit przez czas, kiedy ćwiczysz lub nie ćwiczysz.

Naciśnij przycisk A, aby zobaczyć, ile sekund byłeś aktywny, i B aby zobaczyć, jak długo byłeś nieaktywny.

Czym jest uczenie maszynowe?

Uczenie maszynowe (ML) jest rodzajem sztucznej inteligencji (AI), w której bazując na danych komputery uczą się i podejmują decyzje.

Modele ML są trenowane przez ludzi, aby pomóc im w podejmowaniu takich decyzji, na przykład, aby rozpoznać różne "akcje", gdy poruszasz swój micro:bit na różne sposoby.

Co będę musiał zrobić?

Systemy AI potrzebują ludzi do projektowania, budowania, testowania i korzystania z nich. Zbierasz dane, aby wytrenować model ML, przetestować go, ulepszyć go i połączyć z kodem komputerowym, aby stworzyć inteligentne urządzenie, które używa AI. Aby to zrobić, użyjesz strony micro:bit i micro:bit CreateAI.

Krok 2: Utwórz

Czego potrzebujesz

Zbierz próbki danych

Kiedy otworzysz projekt w micro:bit CreateAI, to zobaczysz, że udostępniliśmy Ci kilka przykładowych danych do akcji "ćwiczenia" i "nie ćwiczenia":

Dodasz własne próbki ruchu za pomocą sensora ruchu lub akcelerometru micro:bit.

W micro:bit CreateAI, kliknij przycisk 'Połącz', aby połączyć zebrane dane, i postępuj zgodnie z instrukcjami.

Dołącz micro:bit zbierający dane do nadgarstka. Zdecyduj się na niektóre działania, które często są częścią ćwiczeń, np. bieganie, skakanie lub chodzenie. Kliknij pierwszą akcję, 'ćwiczyć' i kliknij 'Zapisuj', aby zapisać własne próbki danych. Jeśli popełnisz błąd, możesz usunąć próbki, których nie chcesz. Możesz również nacisnąć przycisk B na micro:bicie, aby rozpocząć nagrywanie.

Postępuj tak samo w przypadku czynności „niewykonywanej”, aby upewnić się, że pobierasz próbki w różnych kierunkach.

Sprawdzić próbki danych: czy wszystkie „ćwiczenia” próbki wyglądają tak, jak się poruszasz? Czy wszystkie próbki „nie ćwiczenia” wyglądają tak, jak jesteś?

Trenuj i testuj model

Kliknij przycisk „Trenuj model”, aby trenować model, a następnie przetestować go. Staraj się poruszać się i sprawdzaj, czy „ćwiczenia” są pokazane jako szacowane działania. Pozostań w bezruchu i sprawdź, czy „brak ćwiczeń” jest akceptowalny. Daj swojego micro:bita komuś innemu do noszenia i sprawdź, czy u tej osoby sprawdza się równie dobrze.

Ulepsz swój model

Większość modeli można ulepszyć dzięki większej liczbie danych. Jeśli model wymaga ulepszenia, aby rozpoznać Twoje działania, kliknij na "Edytuj próbki danych".

Możesz usunąć wszelkie próbki danych, które uważasz, że nie pasują (ponieważ wyglądają one zupełnie inaczej niż inne próbki dla tej samej czynności) lub dodać więcej próbek od siebie i od innych osób.

Trenuj model ponownie i przetestuj go ponownie.

Umieść model i kod na swoim micro:bicie

W micro:bit CreateAI kliknij "Edytuj w MakeCode", aby zobaczyć kod projektu w edytorze MakeCode.

Możesz zmodyfikować kod tak, jak w dowolnym projekcie micro:bit MakeCode lub po prostu wypróbować go w taki sposób. Podłącz micro:bit za pomocą kabla danych USB, kliknij przycisk „Pobierz” na ekranie MakeCode i postępuj zgodnie z instrukcjami, aby przenieść swój model AI i bloki kodu do micro:bita. Odłącz micro:bit, przymocuj zestaw baterii, noś go i przetestuj go.

  • Naciśnij przycisk A, aby zobaczyć, ile sekund ćwiczyłeś.
  • Naciśnij przycisk B aby zobaczyć, ile sekund nie ćwiczyłeś.
  • Zresetuj timer naciskając przycisk resetowania na tylnej stronie micro:bita lub rozłączając i ponownie podłączając zestaw baterii.

Jak działają bloki kodu

Kod używa dwóch zmiennych, aby śledzić jak długo ćwiczyłeś i nie ćwiczyłeś. Gdy program uruchamia po raz pierwszy, ustawia te zmienne timera na 0.

Bloki 'on ML... start' są uruchamiane, gdy model ML decyduje, że rozpocząłeś ćwiczenia lub nie. Pokazują różne ikony na wyświetlaczu micro:bita LED, w zależności od akcji, którą oszacowano, że wykonujesz.

Bloki 'on ML... stop' są uruchamiane, gdy model ML decyduje, że ukończyłeś akcję. Kod wewnątrz każdego bloku czyści ekran i dodaje czas trwania akcji, która właśnie się zakończyła do zmiennej przechowującej całkowity czas każdej akcji.

Bloki 'na przycisk... naciśniety' zawierają kod do wyświetlania zmiennych pokazujących całkowity czas, gsy ćwiczyłeś i nie ćwiczyłeś. Czasomierz liczy się w milisekundach (tysięcznych sekundy), więc pokazana liczba jest dzielona przez 1000 pokazując całkowity czas trwania w sekundach.

Ewaluacja

Jak dokładnie jest mierzony czas, gdy ćwiczyłeś lub odpoczywałeś? Czy działa to równie dobrze dla różnych osób?

Sprawdź, czy kod timera działa dobrze z modelem w trzech prostych krokach:

  1. Naciśnij przycisk resetowania.
  2. Ćwicz przez 30 sekund.
  3. Naciśnij przycisk A. Powinieneś zobaczyć liczbę bliską 30 przewijaną na wyświetlaczu.
  • Jeśli chcesz ulepszyć model, kliknij < strzałkę w lewym górnym rogu edytora MakeCode, aby dodać więcej próbek danych i ponownie wytrenować model.

Porównaj prosty licznik ćwiczeń AI z projektem licznika kroków, który nie korzysta z ML (uczenia maszynowego):

  • W jaki sposób korzystanie z ML tworzy bardziej przydatny projekt?
  • Czy AI / ML są zawsze potrzebne, aby tworzyć użyteczne projekty?

Krok 3: Rozszerzenie

  • Zbadaj dodanie bloków kodu, które pokazują '?', gdy model nie może zidentyfikować Twojej akcji.
  • Dodaj bloki dźwięku, aby przekazać informację zwrotną podczas wykrywania ćwiczeń lub braku ćwiczeń.
  • Wypróbuj projekt AI timer aktywności do trenowania swojego micro:bita, aby wykrywał i mierzył czas specyficznych ćwiczeń i aktywnosci.