Słownik AI

Uczenie pojęć – ang. Concept Learning

Uczenie pojęć (Concept Learning) ‒ czym jest i jak działa

Czym jest Uczenie pojęć (Concept Learning)?

Uczenie pojęć to obszar sztucznej inteligencji, który koncentruje się na automatycznym wyodrębnianiu uogólnionych reguł opisujących pewną klasę obiektów lub zjawisk. Algorytm otrzymuje zbiory przykładów pozytywnych i negatywnych, a jego zadaniem jest znalezienie funkcji decyzyjnej rozróżniającej oba zbiory. Uzyskana funkcja określa, czy nowy, nie-znany wcześniej przykład należy do danego pojęcia. W praktyce jest to proces tworzenia klasyfikatora, który zamiast posługiwać się jedynie statystycznymi korelacjami, stara się uchwycić strukturę definicyjną kategorii.

Krótkie tło historyczne

Korzenie idei sięgają lat siedemdziesiątych, kiedy Patrick Winston w Massachusetts Institute of Technology analizował mechanizmy uczenia się pojęcia „krzesło” na modelach blokowych. W latach osiemdziesiątych temat rozwinął się za sprawą prac Toma M. Mitchella, twórcy koncepcji Version Spaces (1982), która formalnie opisała przestrzeń hipotez rozpiętą pomiędzy najbardziej ogólną a najbardziej szczegółową definicją pojęcia. Mitchelowski formalizm do dziś stanowi punkt odniesienia przy omawianiu metod symbolicznych w uczeniu maszynowym.

Jak dokładnie działa Uczenie pojęć (Concept Learning)

Proces przebiega iteracyjnie. Najpierw definiuje się przestrzeń hipotez — zbiór wszystkich potencjalnych funkcji, jakie algorytm może rozważyć. Następnie każda obserwacja pozytywna zawęża tę przestrzeń, eliminując hipotezy nieobejmujące danego przykładu. Obserwacje negatywne działają odwrotnie: wykluczają hipotezy, które błędnie klasyfikują element spoza pojęcia jako należący do niego. W wyniku kolejnych aktualizacji algorytm konwerguje do jednego opisu lub zbioru równoważnych hipotez, które można następnie zastosować do nowych danych. Współcześnie mechanizmy te są często implementowane w logice opisowej, regułowych sieciach neuronowych czy hybrydowych systemach neuro-symbolicznych.

Zastosowania w praktyce

Uczenie pojęć ułatwia budowę modułów rozumowania w asystentach głosowych, gdzie z przykładów wyrażeń użytkownika wyodrębnia się kategorie intencji. W diagnostyce medycznej pozwala generować reguły określające, kiedy zestaw symptomów świadczy o konkretnej chorobie. W zrobotyzowanych liniach produkcyjnych wspiera rozpoznawanie, czy dany element spełnia normę jakościową, łącząc obserwacje z kamer ze zbiorami reguł eksperckich.

Zalety i ograniczenia

Największą zaletą metod uczenia pojęć jest przejrzystość otrzymanych reguł, które można wytłumaczyć i zweryfikować domenowo. W odróżnieniu od klasycznych modeli głębokich, pojedyncza reguła bywa łatwa do zinterpretowania przez inżyniera lub lekarza. Minusem pozostaje wrażliwość na szum w danych: pojedynczy błędnie oznaczony przykład potrafi wyeliminować poprawną hipotezę. Ponadto, w dużych przestrzeniach hipotez proces zawężania może być obliczeniowo kosztowny.

Na co uważać?

Przy stosowaniu uczenia pojęć kluczowa jest reprezentacja cech. Jeśli atrybuty nie oddają istoty zjawiska, nawet najlepszy algorytm nie znajdzie satysfakcjonującej definicji. Warto też zwracać uwagę na równowagę między przykładami pozytywnymi i negatywnymi, aby uniknąć stronniczego modelu. Istotne jest wreszcie zabezpieczenie procesu etykietowania, ponieważ heurystyki eliminacyjne są wyjątkowo podatne na błędy oznaczeń.

Dodatkowe źródła

Więcej informacji można znaleźć w artykule T. M. Mitchella „Version Spaces: A Candidate Elimination Approach to Rule Learning” dostępnym w repozytorium arXiv. Zwięzłe omówienie terminu zamieszczono również na stronie Wikipedii. Przykłady implementacji w języku Python zostały opisane w otwartym podręczniku „Machine Learning” wydanym przez Carnegie Mellon University, dostępnym w ramach serwisu cs.cmu.edu.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *