Что может машинное обучение, чего не могут программисты? - для простака с простым распознаванием символов.

Человеческий мозг великолепен, потому что он может видеть настоящее, экстраполировать и обобщать, чтобы сохранить все в маленькой (довольно ленивой) памяти. Вот что делает программирование великим, а лучших обобщающих — величайшими программистами. Но есть одно ограничение даже для самого лучшего обобщающего мозга; это то, что я называю линейным мышлением. Мы связываем вещи с причинно-следственной связью, тогда как большинство событий, происходящих вокруг нас, случайны — побочный продукт эффекта ореола/рога. Ленивый толстяк в наших головах не любит делать много работы — возможно, злое благословение, и поэтому мы не можем все обобщить и запрограммировать. На ум приходит NP-твердость.

Возьмем, к примеру, это изображение. Если перед программистом поставить задачу распознать букву «А» в ч/б изображении (слева) при условии, что шрифт и размер неизменны, он выделит изображение и распознает буквы «А», где эти ориентиры удовлетворяются. Ориентирами здесь будут черные позиции пикселей на изображении. Быстрая функциональная связь.

Посмотрите, например, это изображение. Если вышеуказанные ориентиры будут размещены над любым A (снова при условии того же шрифта/размера) в данном корпусе, функциональные отношения распознают его как «A» со 100% вероятностью (это то, что делает функциональные отношения особыми гарантиями). Быстро подумайте, что произойдет, если эти ориентиры поместить над написанным от руки «А или а».

Стихийное бедствие. Можно возразить, что ориентиры можно создавать отдельно для рукописных букв «А», но их нельзя обобщать для всех возможных рукописных букв «А». Таким образом, наши знаковые функциональные отношения будут распознавать (или не распознавать) написанные от руки буквы «А» с вероятностью 0% (или со 100%-ной особенностью функциональных отношений).

Вот интуиция, что, если мы изменим проблему распознавания «А» (или «А», рассмотрим любой из них) с некоторой вероятностью, которая не является 100%?

Изображение слева было выбрано для создания ориентиров. В реальных моделях распознавания OCR миллионы букв A выбираются и усредняются для создания ориентиров. Затем ориентиры переносятся на потенциальные «А» для обнаружения «А» только на этот раз с некоторой оценкой вероятности, которая находится в диапазоне от 0 до 100%, а не от 0 до 100%. Буква «А» в середине имеет оценку 100% для заполнения ориентира 5/5. «А» справа имеет 40% для критерия заполнения ориентира 2/5.

Ориентир, который мы только что создали, также определяет отношение, которое используется для распознавания, но с оценкой вероятности. Такая связь называется Статистическая связь. И это то, что такое машинное обучение. Проще говоря, это оценка статистической связи вместо ближайшей функциональной связи. Для приведенного выше примера размещение ориентиров при обнаружении А после наблюдения миллионов А будет лучшей оценкой ближайшей (которая нацелена на 100% вероятность) статистической связи, которая распознает А.