Не везде пропустят эту статью из-за ее мягко говоря жаргонного типа подачи, но я очень хочу поделиться своим пониманием нейронных сетей.

В итоге я заменил матерные выражения на простые, но думаю вы поймете где тут было что.

Начну я немного издалека. Многие смотрели фильм «Большой куш» в переводе Гоблина и у этого мастера пацанской озвучки название фильма «С3.14здили». Могу сказать, что в свое время этот фильм с таким переводом произвел переворот в сознании и понимании жаргонизмов. Помню мы буквально на каждом шагу потом использовали цитаты из фильма, тогда я еще работал на компьютерной барахолке и торговал пиратскими дисками, примерно 2003 год.

Если по простому, то некоторые эмоции и понятия ситуаций очень четко передаются через простые матерные выражения, после произнесения которых ты сразу понимаешь эпичность этой ситуации или понятия, а также некоторую смысловую нагрузку.

Теперь ведем нить рассуждения из другой скучной области – из математики. Все знают про выражение 2×2 = 4. Если в виде функции то получаем f(x) = y, где f(x) = x*x.

И на любом языке программирования очень легко освоить и создать подобную функцию. Для нас это будет «простая функция» в терминах данной статьи.

Соединяем со сложной темой нейронных сетей. Вначале я смотрел на нейронные сети как на какую-то черную магию, даже имея опыт программирования и знания в математическом анализе. Пытаясь понять что это такое, я читал статьи на medium.com – но там ботаники зазнайки только усложняли все и честно говоря для новичка это только еще больше отпугивало.

Потом я прочитал пару книг по нейронным сетям и прилежно выполнял задания и пробовал разные куски кода из этих книг. И тут меня поразила простая мысль, как молния! Кстати, писал я эту статью дождливым летним утром в Сочи, когда молнии сверкали будь здоров.

Простая мысль заключала в себя следующее – нейронные сети это «очень умная функция» и не более. Да, это тот же самый f(x) = y. На вход мы подаем много-много данных, на выходе получаем некое преобразование этих данных в другие данные. Либо одно число, либо массив чисел. Вот все что нужно знать инженеру, а не ученому.

Обучение – это цикл по данным

Внимание – это умножение хвостиков в каждом цикле обучения и складирование суммы умножения в специальном массиве. Внимание создает эффект эха в большой пустой комнате или пещере.

И вот через день я окончательно протрезвел.

Теперь я вижу что мои размышления связаны по больше частью с тем, что мозг устал размышлять и впитывать сложную информацию. После вина сработала функция дренажа. Мозг попытался смыть сложные понятия и упростить их для запоминания. В итоге я получил сверточный слой входных данных из книг, а сверточная функция оказалась на нижнем уровне – там где наше я вступает в область жаргонных выражений и эмоций.

Закончил чтение книги про нейронные сети. И, наконец, получил ответ на свой вопрос что же меня так влекло в этих нейронных сетях. Я ожидал, что это прорывная технология ИИ и что компьютер действительно научился мыслить и представлять себе объекты. Однако, оказалось это просто «очень умная функция». Нейросеть – просто набор умных фильтров, который преобразует входные данные в выходные. И может подгонять эти фильтры под определенные задачи.

Нельзя сказать, что изучение нейронных сетей прошло бесследно. Благодаря этому изучению я углубил свое понимание технологии распознавания образов и работе с обучением такого плана. Если раньше я сильно переживал от того, что не понимаю тонкостей реализации и преобразования в нейронных сетях мне казались магией. То теперь я понимаю как это выполняется на низком уровне и общую философию. Мне это нужно для того, чтобы в будущем при возможности применить эту технологию для решения практических задач.