Но как же настраиваются эти миллионы связей? Точно так же, как наш мозг, когда мы надеваем призматические очки! Всякий раз, когда сеть дает предварительный ответ, ей сообщают, правильный он или нет. Если ответ неправильный, сеть корректирует соответствующие параметры, дабы избежать ошибки в следующий раз. Каждый неправильный ответ несет в себе ценную информацию. Как и в случае с призматическими очками (слишком большое смещение вправо или влево), характер ошибки подсказывает системе, что именно нужно было сделать, чтобы решить задачу правильно. Вернувшись к источнику ошибки, машина определяет оптимальные параметры, которые впредь позволят ее избежать.
Вернемся к охотнику, которому нужно отрегулировать оптический прицел своего ружья. Процедура обучения элементарна. Охотник стреляет и обнаруживает, что взял на пять сантиметров правее. Теперь он располагает важной информацией как об амплитуде (пять сантиметров), так и о характере ошибки (смещение вправо). Эти сведения дают ему возможность скорректировать следующий выстрел. Если охотник умный, он быстро сообразит, как исправить ситуацию: если пуля отклонилась вправо, необходимо сдвинуть прицел чуть влево. А если он не настолько проницателен, он может выбрать другую мишень и проверить, что произойдет, если прицелиться правее. Таким образом, путем проб и ошибок охотник рано или поздно обнаружит, какие именно манипуляции с прицелом уменьшают отклонение пули от намеченной цели.
Меняя положение прицела, наш храбрый охотник применяет алгоритм научения, хотя сам этого не осознает. Он имплицитно вычисляет то, что математики называют «производной» системы, или ее градиентом, и использует «метод градиентного спуска». Иными словами, охотник учится смещать видоискатель ружья в направлении, уменьшающем вероятность ошибки.
Несмотря на миллионы входов, выходов и регулируемых