Как машинное обучение помогло мне понять некоторые аспекты раннего развития детей

Когда моему первому сыну было всего два, он уже любил машины, знал все марки и модели (даже больше, чем я, благодаря моим друзьям), мог их распознавать по небольшой части изображения. Все говорили: гений. Хотя и отмечали полную бесполезность этих знаний. А сын тем временем спал с ними, катал их, расставлял ровно в ряд или квадратиком.

Когда ему было 4 он научился считать, а в 5 уже мог умножать и складывать в пределах 1000. Мы даже играли в Math Workout (игра такая на Андроиде — я любил в метро после работы повычислять), и в какой-то момент он стал меня делать только так. А в свободное от занятий время он считал до миллиона, что вымораживало окружающих. Гений! — говорили они, но мы-то подозревали, что не совсем.

Кстати, на рынке он неплохо помогал маме — вычислял общую сумму быстрее, чем продавцы на калькуляторе.

При этом он никогда не играл на площадке, не общался со сверстниками, не очень ладил с детьми и воспитателями в саду. В общем был немного замкнутым ребёнком.

Следующим этапом была география — мы пытались куда-то канализовать любовь к числам, и вручили сыну старый советский атлас. Он погрузился в него на месяц, а после этого стал задавать нам каверзные вопросы в стиле:

— Пап, как считаешь, какая страна имеет большую площадь: Пакистан или Мозамбик?

— Наверное Мозамбик, — отвечал я.

— А вот и нет! Площадь Пакистана на целых 2350 км2 больше, — радостно отвечал сын.

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

Все опять восхищались. «Умён не по годам», — говорили вокруг, но я опять забеспокоился, т.к. понимал, что это совершенно бесполезные знания, не привязанные к жизненному опыту, и которые сложно продолжить развивать. Лучшим применением из всего, что я нашёл, было предложение посчитать, сколько машин поместится на парковке, если какую-то отдельно взятую страну закатать асфальтом (без учёта горного рельефа), но быстро осёкся, т.к. это попахивает геноцидом.

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

Повторенье — мать ученья

Казалось бы, к чему всё это. Такое наблюдается у многих детей. Их родители всем заявляют, что дети их гениальны, бабушки восторгаются и хвалят детей за их «знания». А потом из них вырастают обычные просто умные дети, не гениальней сына маминой подруги.

Изучая нейронные сети я столкнулся с похожим явлением, и мне кажется, что из этой аналогии можно сделать определённые выводы. Я не биолог и не нейробиолог. Всё дальнейшее — мои догадки без претензии на особую научность. Буду рад комментариям профессионалов.

Когда я пытался понять, как сын так круто научился считать быстрее меня (он проходил уровень в Math Workout за 20.4 секунды, в то время как моим рекордом было 21.9), я осознал, что он вообще не считает. Он заучил, что при появлении 55+17 нужно нажимать на 72. На 45+38 нужно клацнуть на 83, и так далее. Первое время он конечно считал, но рывок по скорости произошёл в тот момент, когда он смог запомнить все комбинации. Причём достаточно быстро он стал запоминать уже не конкретные надписи, а сочетания символов. Это именно то, чему учат в школе, изучая таблицу умножения — запомнить таблицу соответствия MxN -> P.

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

Лишние знания

Почему же у одних детей есть способность к такому запоминанию, а у других нет?

Представим себе поле интересов ребёнка (тут мы подходим к вопросу качественно, без каких-либо измерений). Слева поле интересов обычного ребёнка, а справа поле интересов «одарённого» ребёнка. Как и ожидалось, основной интерес сосредоточен в областях, к которым особые склонности. А вот на повседневные вещи и общение со сверстниками фокуса уже не хватает. Эти знания он считает лишними.

Интересы обычного ребёнка 5 лет.Интересы обычного ребёнка 5 лет.

Интересы «гениального» ребёнка 5 лет.Интересы «гениального» ребёнка 5 лет.

У таких детей мозг анализирует и проводит обучение только по избранным темам. Проводя обучение нейронная сеть в мозге должна научиться успешно классифицировать входящие данные. Но в распоряжении мозга много-много нейронов. Сильно больше, чем нужно для нормальной работы с такими простыми задачами. Обычно по жизни дети решают много разных задач, но здесь все те же ресурсы брошены на более узкий круг задач. И обучение в таком режиме легко приводит к тому, что профессионалы по ML называют overfitting. Сеть, используя обилие коэффициентов (нейронов), обучилась так, что выдаёт всегда точно нужные ответы (но на промежуточных входных данных может выдавать полную чушь, но этого никто не видит). Таким образом обучение привело не к тому, что мозг выделил основные характеристики и запомнил их, а к тому, что он подогнал множество коэффициентов, чтобы выдавать точный результат на уже известных данных (как на картинке справа). Причём на остальные темы мозг так себе обучился, плохо потренировавшись (как на картинке слева).

Что такое underfitting и overfitting?

Для тех, кто не в теме, расскажу совсем кратко. При обучении нейронной сети стоит задача подобрать некоторое количество параметров (весовые коэффициенты связи между нейронами) так, чтобы сеть, реагируя на обучающие данные (тренировочную выборку), отвечала максимально близко и точно.

Если таких параметров предоставить слишком мало, то сеть не сможет учесть детали выборки, что приведёт к очень грубому и усреднённому ответу, плохо работающему даже на тренировочной выборке. Примерно как на левой картинке выше. Это underfitting.

При адекватном количестве параметров сеть будет давать хороший результат, «проглотив» сильные отклонения в тренировочных данных. Такая сеть будет хорошо откликаться не только на тренировочную выборку, но и на другие промежуточные значения. Примерно как на средней картинке выше.

А вот если сети дать слишком много настраиваемых параметров, то она натренируется воспроизводить даже сильные отклонения и флуктуации (в том числе вызванные ошибками), что может привести к полной чуши при попытке получить ответ на входные данные не из тренировочной выборки. Примерно как на правой картинке выше. Это overfitting.

Простой иллюстрирующий пример.

Представим, что у вас есть несколько точек (синие кружки). Нужно провести гладкую кривую, позволяющую предсказать положение других точек. Если брать, например, полином, то при небольших степенях (до 3 или 4) наша гладкая кривая будет достаточно точной (синяя кривая). При этом через исходные точки (синие точка) синяя кривая может и не пройти.

Однако, если количество коэффициентов (а значит и степень полинома) увеличить, то точность прохождения синих точек повысится (или даже будет 100% попадание), но вот поведение между этими точками станет непредсказуемым (посмотрите, как колеблется красная кривая).

Мне кажется, что именно склонность ребёнка к конкретной теме (зацикленность) и полное игнорирование остальных тем приводит к тому, что при обучении слишком много «коэффициентов» отданы этим самым темам.

Учитывая, что сеть настроена на конкретные входные данные и не выделила «фичи», а тупо «запомнила» входные данные, её невозможно использовать при немного других входных данных. Применимость такой сети очень узкая. С возрастом кругозор расширяется, фокус размывается, и возможности отводить столько же нейронов на ту же задачу уже нет — они начинают использоваться в новых более нужных для ребёнка задачах. «Настройки» той overfitted-сети рушатся, ребёнок становится «нормальным», гениальность исчезает.

Конечно, если у ребёнка есть навык, который сам по себе полезен и его можно развивать (например, музыка или спорт), то его «гениальность» можно долго поддерживать, и даже довести эти навыки до профессионального уровня. Но в большинстве случаем это не получается, и от былых навыков и следа не останется уже к 8-10 годам.

Выводы

  • у вас гениальный ребёнок? это пройдёт 😉
  • кругозор и «гениальность» — это связанные вещи, причём связаны они именно через механизм обучения
  • эта видимая «гениальность» — скорее всего совсем не гениальность, а эффект слишком сильной обученности мозга на какой-то конкретной задаче без её понимания — просто все ресурсы были отданы под эту задачу
  • при исправлении узости интересов ребёнка пропадает его гениальность
  • если у вас ребёнок «гениальный» и немного более замкнутый, чем сверстники, то развивать далее эти самые навыки нужно аккуратно, активно развивая параллельно кругозор, и не делать акцент на этих «крутых», но обычно бесполезных навыках

Автор: Сергей Полторак

Источник:
https://habr.com

©