Я намагаюся зрозуміти, як працює розмноження для вихідного шару softmax / cross-entropy.
Помилка поперечної ентропії є
з і в якості цілі та виходу при нейроні відповідно. Сума знаходиться над кожним нейроном у вихідному шарі. сам по собі результат функції softmax:
І знову сума над кожним нейроном у вихідному шарі, а - вхід до нейрона :
Це сума над усіма нейронами попереднього шару з відповідним виходом та вагою бік нейрона плюс зміщення .
Тепер, щоб оновити вагу яка з'єднує нейрон у вихідному шарі з нейроном в попередньому шарі, мені потрібно обчислити часткову похідну функції помилки за допомогою ланцюгового правила:
з як вхід до нейрона .
Останній термін досить простий. Оскільки між та є лише одна вага , похідна:
Перший член - це виведення функції помилки щодо виходу :
Середній член - це виведення функції softmax щодо введення важче:
Скажімо, у нас є три вихідні нейрони, що відповідають класам тоді o b = s o f t m a x ( b ) є:
та його виведення за допомогою коефіцієнта:
=softmax(b)-softmax2(b)=ob-o 2 b =ob(1-ob) Назад до середнього періоду для зворотного розповсюдження це означає: ∂oj
Збираючи все це я отримую
Але я не можу з цього ніякого сенсу. Також я навіть не впевнений, чи це причина моєї помилки, через що я розміщую всі мої розрахунки. Я сподіваюся, що хтось може мені уточнити, де я щось пропускаю чи не так.