Объесните пожалуйста кто-нибудь, весь интернет уже перерыл. Как вывести формулу для производной произведения матриц. Как из C=A*B вывести dC/dA=B^T? По сути же, если мы берем производную матрицы-функции по матрице переменных, то мы должны каждый элемент из фукнции продифференцировать по всей матрице переменных. И тогда результат должен вообще 4-мерным получиться. Я понимаю, что в pytorch это сделано как-то по-другому, но никак не пойму, как.
При обучении нейронок. В частности, в компьютерном зрении. Там 4-мерные матрицы: есть B картинок, в каждой из которых C "цветовых" каналов, и каждый из которых представляет собой матрицу размера H*W
Для "голой" концепции проталкивания предпотока,где можно на рандом избыточные вершины выбирать, асимтотика вроде O(V²E). Но сразу же есть улучшение - алгоритм "поднять-в-начало", где особым способом выбираются эти вершины, и тут уже асимптотика O(V³)
Объесните пожалуйста кто-нибудь, весь интернет уже перерыл. Как вывести формулу для производной произведения матриц. Как из C=A*B вывести dC/dA=B^T? По сути же, если мы берем производную матрицы-функции по матрице переменных, то мы должны каждый элемент из фукнции продифференцировать по всей матрице переменных. И тогда результат должен вообще 4-мерным получиться. Я понимаю, что в pytorch это сделано как-то по-другому, но никак не пойму, как.
При обучении нейронок. В частности, в компьютерном зрении. Там 4-мерные матрицы: есть B картинок, в каждой из которых C "цветовых" каналов, и каждый из которых представляет собой матрицу размера H*W
Для "голой" концепции проталкивания предпотока,где можно на рандом избыточные вершины выбирать, асимтотика вроде O(V²E). Но сразу же есть улучшение - алгоритм "поднять-в-начало", где особым способом выбираются эти вершины, и тут уже асимптотика O(V³)
Алгоритм "поднять-в-начало" вообще имба
У меня LeNet с 3 сверточными и 2 линейными слоями и ≈300к параметров за 10 эпох на cifar достигала достигала точность 0.78 на тесте.