Próbuję zaprojektować sieć neuronową za pomocą Keras z priorytetem wydajności predykcji i nie mogę uzyskać wystarczająco wysokiej dokładności przez dalsze zmniejszanie liczby warstw i węzłów na warstwę. Zauważyłem, że bardzo duża część moich wag wynosi efektywnie zero (> 95%). Czy istnieje sposób na przycinanie gęstych warstw w nadziei ograniczenia czasu przewidywania?Przycinanie w kamerze
Odpowiedz
Nie dedykowany sposób :(
Obecnie nie jest łatwy (dedykowane) sposób to zrobić z Keras.
dyskusja trwa w https://groups.google.com/forum/#!topic/keras-users/oEecCWayJrM.
Możesz być również zainteresowany tym papier: https://arxiv.org/pdf/1608.04493v1.pdf.
Bardzo ciekawy artykuł, dziękuję. Czy masz jakiś wgląd w to, kiedy (lub jeśli) to zostanie wprowadzone w Keras? A może powinienem przejść do innej struktury? – Mirac7
Nie wierzę, że zmiana schematów pomoże bardzo, szczerze. O ile mi wiadomo, ani tensorflow ani theano nie mają tego rodzaju funkcji. Można jednak coś wypracować ręcznie ... progujesz wartości bezwzględne swoich ciężarów, usuwasz je z warstwy, a także usuwasz ciężary odpowiadające neuronom, które właśnie usunąłeś, kiedy tak jest. Nie brzmi to zbyt prosto, ale nie sądzę też, żeby istniały wielkie sekrety. – grovina
Istnieje duża różnica między "nie, to niemożliwe" i "Keras nie ma dedykowanego polecenia". Zmień swoją odpowiedź zgodnie ze swoim komentarzem, ponieważ obecnie uważam, że twoja odpowiedź jest błędna. –
- 1. Strumień wyjściowy przewidywań w kamerze
- 2. Lewy przycinanie w JavaScript
- 3. Przycinanie ciąg w C
- 4. Jak układać wiele kart lstm w kamerze?
- 5. jak zaimplementować niestandardowe dane w kamerze?
- 6. Wizualizacja warstwy splotowej w kamerze model
- 7. Efektywne przycinanie obrazu w JavaFX
- 8. Przycinanie + sanityzacja widoków w szynach
- 9. Przycinanie/przycinanie pliku JPG z pustą przestrzenią z Javą
- 10. Android - pokaż linie siatki na kamerze
- 11. Kadrowanie problemu z obrazem przy kamerze
- 12. Przycinanie elipsy z obrazu
- 13. Obracanie i przycinanie UIImage
- 14. Przycinanie końcowe .0
- 15. wykrywanie twarzy i przycinanie
- 16. git - przycinanie białych znaków
- 17. Maska/przycinanie obrazu
- 18. przycinanie obrazu bez kopiowania
- 19. Czy automatyczne przycinanie rpart?
- 20. Przycinanie wiadomości Log4J
- 21. Przycinanie Picasso do widoku
- 22. przycinanie adresu IP oktet
- 23. Przycinanie wszystkich właściwości ciągów
- 24. Niestandardowe przycinanie obrazu Android
- 25. wybierz część obrazu (przycinanie)
- 26. ! Empty (przycinanie ($ _ POST ['username']
- 27. Zdjęcie lub twarz na żywo Sprawdzanie w kamerze Android
- 28. Oprogramowanie do śledzenia twarzy na komputerze Mac (w kamerze)
- 29. Automatyczne skalowanie wielu obrazów TIFF NSImage w kamerze
- 30. Jak przechwytywać obraz i przechowywać go w macierzystej kamerze Android
Co dokładnie oznacza "efektywnie zero"? Z jakich typów warstw korzystasz? Co próbowałem? –
@MartinThoma Użyłem podstawowych warstw 'Dense'. Większość wag była albo e qual do zera, lub były tak bliskie zeru, że ustawienie ich na zero nie zmieni żadnego wyjścia sieci dla żadnego wejścia. Jednak żaden pojedynczy węzeł nie może zostać usunięty z sieci bez zwiększania utraty średniej liczby przypadków testowych. Zakładam, że w pewnym momencie, w którym większość wag jest bezużyteczna, rzadka sieć byłaby bardziej wydajna, jeśli chodzi o przewidywanie. – Mirac7
"były tak bliskie zeru, że ustawienie ich na zero nie zmieni żadnego wyjścia sieci dla żadnego wejścia" - co to znaczy? 10^-5? 10^-6? 10^-100? –