
Big Data w e-commerce
11 lipca 2018
Co nowego i godnego uwagi w WordPressie?
18 lipca 2018
{„elementor_texts”: {„280453c”: {„0”: „Transfer nauki to proces wykorzystywania wcześniej przygotowanego modelu do nowego problemu. Metoda jest obecnie niezwykle popularna w dziedzinie głębokiego uczenia się, ponieważ pozwala na trenowanie sieci neuronowych na stosunkowo niewielkich ilościach danych. Może to okazać się bardzo przydatne, ponieważ większość problemów w rzeczywistym świecie zazwyczaj nie posiada milionów oznaczonych punktów danych do trenowania tak złożonych modeli.\n
Uczenie transferowe – co to jest?
\nW uczeniu transferowym wiedza już wytrenowanego modelu uczenia maszynowego jest stosowana do innego, ale pokrewnego problemu. Na przykład, jeśli wytrenowałeś prosty klasyfikator do przewidywania, czy zdjęcie zawiera plecak, mógłbyś faktycznie wykorzystać wiedzę, którą model zdobył podczas procesu treningu, do identyfikacji innych obiektów, takich jak okulary przeciwsłoneczne. Dzięki temu zasadniczo próbujemy wykorzystać to, czego nauczyliśmy się w jednym zadaniu, aby poprawić generalizację w innym. Przenosimy to, ile sieć nauczyła się o zadaniu A, do nowego zadania B.\n\nOznacza to wykorzystanie wiedzy, którą model nauczył się z zadania, w którym dostępnych jest wiele oznaczonych danych treningowych, i przeniesienie jej do nowego zadania, w którym nie mamy zbyt wielu danych. Proces uczenia nie zaczyna się od nowa, ale od wzorców nauczonych z pokrewnego zadania.\n”}}}To nie jest dokładnie technika uczenia maszynowego. Uczenie transferowe można postrzegać jako „metodologię projektowania” w ramach uczenia maszynowego, na przykład w uczeniu aktywnym. Nie jest to również wyłączna część ani dziedzina uczenia maszynowego. Niemniej jednak, zyskało popularność dzięki sieciom neuronowym, ponieważ potrzebują one ogromnych ilości danych i mocy obliczeniowej.
Uczenie transferowe – metodologia projektowania
W rozpoznawaniu obrazów sieci neuronowe zazwyczaj próbują wykrywać krawędzie w warstwach podstawowych, kształty w warstwie środkowej i pewne funkcje specyficzne dla zadania w ostatnich warstwach. Dzięki „uczeniu transferowemu” wykorzystujesz warstwy podstawowe i środkowe, a dopiero potem ponownie trenujesz te ostatnie warstwy. To pomaga nam wykorzystać dane oznaczone etykietą zadania, na którym byliśmy początkowo szkoleni.
W uczeniu transferowym staramy się przenieść jak najwięcej wiedzy z poprzedniego zadania, na którym model był trenowany, do nowego zadania. Ta wiedza może przybierać różne formy w zależności od problemu i danych. Na przykład, może to być sposób komponowania modeli, co pozwoli nam łatwiej identyfikować nowe obiekty.
Zalety i wady
Uczenie transferowe ma wiele zalet. Główne zalety to w zasadzie krótszy czas trenowania i lepsze działanie sieci neuronowej w większości przypadków, przy czym nie potrzebujesz wielu danych. Możesz wytrenować dobry model uczenia maszynowego na stosunkowo małych zbiorach danych treningowych, ponieważ model jest już wstępnie wytrenowany. Może to być szczególnie ważne w przypadku przetwarzania języka naturalnego (NLP), gdzie wiedza ekspercka jest potrzebna do tworzenia dużych zbiorów danych oznaczonych.{
„elementor_texts”: {
„c06f85e”: „Raczej trudno jest wymyślić reguły ogólnego zastosowania w uczeniu maszynowym. Normalnie stosuje się uczenie transferowe, gdy nie ma wystarczającej liczby adnotowanych danych treningowych, aby wytrenować sieć od zera, i/lub istnieje już sieć wcześniej wytrenowana do podobnego zadania, zazwyczaj na ogromnych ilościach danych. Innym przypadkiem, w którym jest to możliwe, jest sytuacja, gdy zadania A i B wykorzystują te same dane źródłowe.„,
„d87e008”: „Jeśli sieć została wytrenowana przez TensorFlow, można ją po prostu przywrócić i odtworzyć niektóre jej warstwy dla swojego zadania. Należy pamiętać, że uczenie transferowe działa tylko wtedy, gdy funkcje poznane w pierwszym zadaniu są ogólne, tj. przydatne również w innych powiązanych zadaniach.”
}
}


