Может ли график ошибки нейронной сети иметь такой вид?

Может ли график ошибки, в процессе обучения, настолько сильно колебаться(вершина картинки - 100% ошибки)? И почему значение сети не опускается ниже определённого значения, если учитывать то, что сеть учиться умножать первое число на второе? Заранее спасибо! Ниже есть метод обучения сети. Если кому пригодится, можете посмотреть...

void NeuralNetCore::backPropagation(float* t)
{
        // Расчёт ошибки последнего слоя
    for (int x = 0; x < countNeurons[countLayers - 1]; x++)
    {
        error[countLayers - 1][x] = (o[countLayers - 1][x] - t[x]) * o[countLayers - 1][x] * (1 - o[countLayers - 1][x]);
    }
 
        // Расчёт ошибки скрытых слоёв
    for (int x = countLayers - 2; x >= 1; x--)
        for (int y = 0; y < countNeurons[x]; y++)
        {
            error[x][y] = 0;
            for (int z = 0; z < countNeurons[x + 1]; z++)
            {
                error[x][y] += (weight[x + 1][y][z] * error[x + 1][z]);
            }
            error[x][y] *= o[x][y] * (1 - o[x][y]);
        }
        // Коррекция весов
    for (int x = 1; x < countLayers; x++)
        for (int y = 0; y < countNeurons[x - 1]; y++)
            for (int z = 0; z < countNeurons[x]; z++)
            {
                lastDeltaWeight[x][y][z] = -(error[x][z] * o[x - 1][y]) * k + lastDeltaWeight[x][y][z] * a;
                weight[x][y][z] += lastDeltaWeight[x][y][z];
            }
}

Ниже график ошибки нейронной сети, в процессе обучения график ошибки


Ответы (0 шт):