Есть много подходов к этой проблеме. Наиболее очевидным является создание новых функций . Лучшие возможности, которые я могу придумать, - это преобразование координат в сферические .
Я не нашел способа сделать это на детской площадке, поэтому я просто создал несколько функций, которые должны помочь с этим (особенности греха). После 500 итераций он будет насыщаться и будет колебаться в 0,1 балла. Это говорит о том, что дальнейших улучшений не будет, и, скорее всего, я должен сделать скрытый слой шире или добавить другой слой.
Не удивительно, что после добавления всего одного нейрона в скрытый слой вы легко получаете 0,013 после 300 итераций. Аналогичная вещь происходит при добавлении нового слоя (0,017, но после значительно более длинных 500 итераций. Также нет ничего удивительного, поскольку распространять ошибки сложнее). Скорее всего, вы можете играть с темпом обучения или адаптивным обучением, чтобы ускорить его, но здесь дело не в этом.