Nie mogę się doczekać, aby zapisać się na magistra w dziedzinie przetwarzania sygnałów i obrazów, a może Computer Vision (jeszcze nie zdecydowałem), i pojawiło się to pytanie.
Obawiam się, że ponieważ głębokie uczenie się nie wymaga wyodrębniania funkcji i prawie żadnego wstępnego przetwarzania wejściowego, czy zabija przetwarzanie obrazu (lub ogólnie przetwarzanie sygnału)?
Nie jestem ekspertem w głębokim uczeniu się, ale wydaje się, że bardzo dobrze sprawdza się w zadaniach rozpoznawania i klasyfikacji, biorąc obrazy bezpośrednio zamiast wektora cech, podobnie jak inne techniki.
Czy jest jakikolwiek przypadek, w którym tradycyjne podejście do ekstrakcji i klasyfikacji cech byłoby lepsze przy wykorzystaniu technik przetwarzania obrazu, czy też umiera z powodu głębokiego uczenia się?
Odpowiedzi:
Ten post został bardzo zaktualizowany. Na górze możesz zobaczyć aktualizacje linków. Poniżej warianty wstępnej odpowiedzi. W przypadku krótkiej wersji: sukcesy splotowych sieci neuronowych i głębokiego uczenia się wyglądają jak rodzaj rewolucji galilejskiej. Z praktycznego punktu widzenia klasyczne przetwarzanie sygnału lub wizja komputerowa są martwe ... pod warunkiem, że masz wystarczającą ilość oznakowanych danych, nie przejmujesz się wyraźnymi błędami klasyfikacji ( głębokie wady ), masz nieskończoną energię do przeprowadzenia testów bez myślenia o śladzie węglowym , i nie zawracaj sobie głowy racjonalnymi wyjaśnieniami. W przypadku innych sprawiło to, że przemyśleć wszystko, co robiliśmy wcześniej: ekstrakcję funkcji, optymalizację (por. Mój kolega J.-C. Pesquet nad Deep Strukturami Sieci Neuronowych Rozwiązywanie Nierówności Wariacyjnych), niezmienność, kwantyfikacja itp. Z tego wynikają naprawdę interesujące badania, które, mam nadzieję, nadążają za mocno ugruntowanymi zasadami i podobnymi wynikami.
Zaktualizowane linki:
Informacje na temat głębokiego uczenia „krokowe” w standardowym przetwarzaniu sygnału / obrazu można znaleźć na dole. Michael Elad właśnie napisał Deep, Deep Trouble: Wpływ głębokiego uczenia się na przetwarzanie obrazu, matematykę i ludzkość (SIAM News, 2017/05), fragment:
Ta trybuna jest interesująca, ponieważ pokazuje przejście od tradycyjnego „przetwarzania obrazu”, próbującego modelować / rozumieć dane, do dziedziny poprawności, bez tak dużego wglądu.
Ta domena ewoluuje dość szybko. Nie oznacza to, że ewoluuje w jakimś zamierzonym lub stałym kierunku. Ani dobrze, ani źle. Ale dziś rano usłyszałem następujące powiedzenie (czy to żart?):
Oto moja bardzo krótka próba: głębokie uczenie się może zapewnić najnowocześniejsze wyniki, ale nie zawsze rozumie się dlaczego , a część naszej pracy naukowej polega na wyjaśnianiu, dlaczego rzeczy działają, jaka jest zawartość danych itd.
Dogłębne uczenie się wymaga (ogromnych) dobrze oznakowanych baz danych. Za każdym razem, gdy tworzysz obrazy na pojedynczych lub pojedynczych obrazach (tj. Bez ogromnej bazy danych z tyłu), szczególnie w miejscach, w których mało prawdopodobne jest uzyskanie „bezpłatnych oznaczonych obrazów użytkownika” (w uzupełniającym zestawie zestawu „ śmieszne koty grające w gry i twarze ”) , możesz trzymać się tradycyjnego przetwarzania obrazu przez pewien czas i dla zysku. Ostatni tweet podsumowuje, że:
Jeśli zostaną zabici (co wątpię w krótkim terminie), jeszcze nie umarli. Tak więc wszelkie umiejętności zdobyte w przetwarzaniu sygnału, analizie obrazu i wizji komputerowej pomogą ci w przyszłości. Jest to na przykład omówione w poście na blogu: Czy zapomnieliśmy o geometrii w wizji komputerowej? autor: Alex Kendall:
Konkretnym przykładem może być: kilka bardzo ciemnych (np. Z nadzoru) obrazów z tej samej lokalizacji, wymagających oceny, czy jeden z nich zawiera konkretną zmianę, którą należy wykryć, jest potencjalnie kwestią tradycyjnego przetwarzania obrazu, więcej niż Głębokie uczenie się (na dzień dzisiejszy).
Z drugiej strony, tak samo jak Deep Learning na dużą skalę, może prowadzić do błędnej klasyfikacji małych zestawów danych, co może być nieszkodliwe „średnio” dla niektórych aplikacji. Dwa obrazy, które nieznacznie różnią się od ludzkiego oka, można sklasyfikować inaczej poprzez DL. Lub losowe obrazy można ustawić na określoną klasę. Zobacz na przykład Głębokie sieci neuronowe można łatwo oszukać: Prognozy o wysokim poziomie ufności dla nierozpoznawalnych obrazów (Nguyen A, Yosinski J, Clune J. Proc. Computer Vision and Pattern Recognition 2015) lub Czy głębokie uczenie ma głębokie wady? , w przypadku negatywnych negatywów:
Z całym szacunkiem dla „głębokiego uczenia się”, pomyśl o „masowej produkcji odpowiadającej zarejestrowanemu, znanemu, masowo uzasadnionemu lub spodziewanemu zachowaniu” w porównaniu z „pojedynczym dziełem”. Żadna nie jest lepsza (jeszcze) w jednej skali indeksu. Oba mogą przez jakiś czas współistnieć.
Jednak głębokie uczenie się przenika wiele nowych dziedzin, jak opisano w odnośnikach poniżej.
Na szczęście niektórzy ludzie próbują znaleźć matematyczne uzasadnienie głębokiego uczenia się, czego przykładem są sieci rozproszone lub transformacje zaproponowane przez Stéphane Mallata i współautorów, patrz strona ENS dotycząca rozpraszania . Analiza harmoniczna i operatory nieliniowe, funkcje Lipschitza, niezmienność translacji / rotacji, lepsze dla przeciętnego przetwarzającego sygnał. Zobacz na przykład Understanding Deep Convolutional Networks .
źródło
Po pierwsze, nie ma nic złego w pracy gradowej w przetwarzaniu obrazu lub wizji komputerowej i korzystaniu z głębokiego uczenia się. Głębokie uczenie się nie zabija przetwarzania obrazu i wizji komputerowej, jest jedynie aktualnym tematem badań w tych dziedzinach.
Po drugie, głębokie uczenie się wykorzystywane jest przede wszystkim w rozpoznawaniu kategorii obiektów. Ale to tylko jeden z wielu obszarów widzenia komputerowego. Istnieją inne obszary, takie jak wykrywanie obiektów, śledzenie, rekonstrukcja 3D itp., Z których wiele wciąż opiera się na „ręcznie wykonanych” funkcjach.
źródło
Żadna głęboka nauka nie zabija przetwarzania obrazu. Aby przeprowadzić głębokie uczenie się, potrzebujesz ogromnych zestawów danych i wielu zasobów obliczeniowych. Istnieje wiele aplikacji, w których pożądana jest możliwość przetwarzania obrazu przy mniejszym obciążeniu obliczeniowym i mniejszych rozmiarach pamięci i bez dostępu do ogromnych baz danych. Niektóre przykłady to telefony komórkowe, tablety, aparaty mobilne, samochody, quadkoptery. Głębokie uczenie się jest obecnie bardzo popularne, ponieważ istnieją bardzo imponujące wyniki klasyfikacji.
Klasyfikacja jest jednym z wielu problemów, z którymi zajmuje się Przetwarzanie obrazu, więc nawet gdyby prawdą było, że głębokie uczenie się rozwiązałoby wszystkie problemy z klasyfikacją, pozostałoby wiele innych rodzajów Przetwarzania obrazu. Redukcja szumów, rejestracja obrazu, obliczenia ruchu, morfowanie / mieszanie, wyostrzanie, korekty i transformacje optyczne, obliczanie geometrii, szacowanie 3D, modele ruchu 3D + w czasie, widzenie stereo, kompresja i kodowanie danych, segmentacja, usuwanie zadziorów, stabilizacja ruchu, grafika komputerowa, wszystkie rodzaje renderowania.
źródło
Dzisiaj rozmawialiśmy z moim przyjacielem. Tu w Monachium był deszczowy dzień, podczas gdy duża część Europy miała rodzaj słonecznej atmosfery. Ludzie dzielili się zdjęciami w mediach społecznościowych, gdzie byli w ładnych letnich sukienkach, wędrując po morzach. Była zirytowana tą sytuacją, zwróciła się do mnie i zapytała: „Czy możesz napisać oprogramowanie do blokowania zdjęć w mediach społecznościowych, które zawierają tak urocze zdjęcia lata, kiedy jest tu tak źle?”. Powiedziałem, dlaczego nie. Wszystko, co musisz zrobić, to zebrać ogromny zestaw letnich zdjęć i negatywnych przykładów, przesłać je przez sieć, która dokonuje klasyfikacji binarnej na poziomie „Block” lub „No-block”. Trenuj i dostrajaj sieć. Otóż to.
Potem zwróciłem się do siebie: czy rzeczywiście wiem, jak napisać prosty algorytm, aby zdecydować, czy jest ładna pogoda, czy nie, nie pozwalając, by maszyna myślała za mnie? Ledwo ... Może ... Dla ciekawskiego czytelnika oto kilka funkcji, które możesz chcieć zaprojektować, jeśli spróbujesz po niego:
Oczywiście, w dzisiejszych czasach nie przejmowałbym się nawet tą publikacją CVPR i po prostu sięgam głęboko. Tak więc, jak bardzo podoba mi się głębokie uczenie się ze względu na jego solidne działanie w wielu scenariuszach, używam go również ostrożnie. Nawet jeśli nie zabiłoby to mojej wiedzy na temat przetwarzania obrazu, zwykle zmniejsza wymaganą przeze mnie wiedzę specjalistyczną w tej dziedzinie. Pod względem intelektualnym nie jest to zbyt eleganckie.
Gdy tylko osoba postanowi utrzymać się na drodze i będzie czerpać korzyści z obu światów, będzie po bezpiecznej stronie.
źródło
Krótka odpowiedź brzmi: nie. DL rozpoznaje kubek na zdjęciu, ale to i tak nie zabija przetwarzania sygnału. To powiedziawszy, twoje pytanie jest dość aktualne w tych niespokojnych dniach. Jest ładny panel dyskusyjny na ten temat, wyposażony Stephane Mallat itd tutaj .
źródło
Inżynieria danych jest nadal wykorzystywana w uczeniu maszynowym do wstępnego przetwarzania i wyboru danych dostarczanych do DNN w celu poprawy ich czasu uczenia się i wydajności oceny. Przetwarzanie obrazu (materiał między matrycą aparatu a bitmapami RGB / itp. Podawanymi do DNN), nadal jest formą inżynierii danych.
źródło
Dogłębne zrozumienie przetwarzania sygnałów (wraz z algebrą liniową, rachunkiem wektorowym, statystyką matematyczną itp.) Jest nieodzowne dla nietrywialnych prac w dziedzinie głębokiego uczenia się, szczególnie w dziedzinie widzenia komputerowego.
Niektóre dokumenty o dużym wpływie w głębokim uczeniu się (teraz, gdy większość nisko wiszących owoców została zebrana) wskazują na dobre zrozumienie koncepcji przetwarzania sygnałów.
Kilka motywacyjnych koncepcji:
I tak dalej. Tak więc, nawet jeśli skończysz pracę na wizji komputerowej i stosowanie głębokiego uczenia się do swoich problemów, tło przetwarzania sygnału sprawi, że bardzo łatwo będzie ci się uchwycić.
źródło
Naprawdę nie przetwarzam zbyt wiele obrazów, ale pracowałem dla organizacji (US Navy), która zrobiła i sfinansowała badania w klasyfikacji sygnałów, kiedy sieci neuronowe były gorącym tematem, od połowy lat 80-tych. Musiałem zapoznać się z wieloma rzeczami marketingowymi. Argumenty były następujące:
Książka Bishopa stłumiła mój cynizm.
W więcej niż kilku aplikacjach optymalny algorytm przetwarzania sygnału będzie wymagał wyczerpującego przeszukiwania wyliczeń w dużej przestrzeni parametrów, która szybko staje się trudna do rozwiązania. Duża farma serwerów może zwiększyć dostępną przestrzeń wyszukiwania, ale w pewnym momencie musisz znaleźć heurystykę. DL wydaje się być w stanie znaleźć niektóre z tych heurystyk, ale nie rozwiązuje podstawowej twardej optymalizacji NP.
źródło
Moim zdaniem z uniwersytetu wielu ludzi przetwarzających sygnał było nieco wrogo nastawionych do ML, podejrzewam, ponieważ czuli się zagrożeni, że wkracza na ich domenę. Ale ostatnio przeprowadzono wiele badań nad korzyściami płynącymi ze stosowania głęboko cenionych sieci neuronowych o złożonej wartości, co może sugerować, że złoty bilet naprawdę dobrze rozumie obie dyscypliny.
źródło
No tak. W taki sam sposób, jak rozwój w językach programowania wyższego poziomu, takich jak C ++ i Python, „zabił” programowanie asemblacyjne. Nie oznacza to jednak, że nie ma znaczenia, aby uczyć się montażu, gdy zapisujesz się na kurs CS. Zapewnia świetny wgląd w działanie komputera, co dzieje się za kulisami języków wyższego poziomu, jakie są podstawowe zasady języka komputerowego itp. Ale nikt przy zdrowych zmysłach nie programowałby teraz aplikacji komputerowej w asemblerze.
źródło