Всем привет!

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

Итак, перед вами — нейроучитель! Хех... Сразу говорю — к нейросетям он не имеет отношения (или опосредованное). Да и не учитель, собственно. Но обо всем по порядку.

Я — запойный читатель. Особенно фантастики. А еще я лентяй и всегда мечтал загружать знания в голову, прикладывая к этому как можно меньше усилий :-) Знакомо? Когда я еще учился в школе в несуществующей сегодня стране где-то в пятом-шестом классе, то потратил много усилий (если не ошибаюсь, около недели по времени), чтобы проверить, можно ли загрузить знания из учебника, засунув его на ночь под подушку. Результат был отрицательный. Затем я с месяц на ночь включал магнитофон с записями по изучению английского языка, чтобы попробовать его выучить во сне. Результата особого не заметил. Кстати, эта запись была из тех, которые распространялись тогда вместе с методиками изучения под медитациями и аутотренингом, может, кто-то помнит еще те времена — конец 80-х. В общем, и тут результат был невнятным. И на какое-то время все эти глупости были выброшены из головы.

Спустя годы, читаяразную фантастику, я погрузился в мир Содружества. Думаю, многие знают, что это такое. Насколько я понимаю, этот художественный мир оттолкнулся от игры EVE Online, но могу и ошибаться, потому что не игроман. Так вот, в основе того общества лежат нейросети. Только не те нейросети, которые известны нам сегодня в реальности, а скорее что‑то вроде искусственных интеллектов, работающих на проращиваемых реальных нейросетях в мозге человека. А база экономики — обучение специалистов с помощью загруженных баз знаний в такие нейросети и постепенное усваивание их в фоновом режиме уже мозгом человека. По сути, это и есть та мечта детства или всех студентов — без видимых усилий загружать знания в голову:‑) В память о таких нейросетях в названии проекта есть «нейро», ибо там корни.

Мысль о том, как т��кое можно сделать на текущих технологических возможностях, не отпускала меня с самого детства. Но всегда с сожалением откладывалась как неосуществимая. :-( Свет забрезжил в последние годы, когда ИИ стали развиваться огромными шагами, да появились технологии типа нейролинка от Маска. Ну, крутилось оно в голове, думалось... Ну да, где мы и где Маск с его электродами в мозгу. Незаметно для себя уже стал прикидывать разные части тела к носу, задумываясь в самые неподходящие моменты времени. По зрелому размышлению, осетра пришлось урезать. Причем с головы, именно там, где располагаются всякие интересные нейросвязи и нейроны. Увы и ах, напрямую лезть в мозг в домашних условиях можно будет еще нескоро. Снова пришлось брать тесак Оккамы и резать, рубить, отделять, отчекрыживать...

Спускаясь на более низкий уровень, пришлось на примитивном уровне разбить задачу изучения чего-то на такие же простые понятия, которые можно было бы как-то реализовать в реале. Ведь что такое обучение? Если на пальцах — перенос знаний с бумаги в мозг, создание новых нейросвязей, преобразование этих связей в устойчивый вариант, усваивание в процессе понимания/осознания и поддержки в актуальном состоянии. Увы, без глубинного вмешательства в процесс осознания знаний (электродов в мозгу или сравнимого воздействия на мозг) ничего сильного сделать не удастся. Собственно, эта проблема описывалась в той фантастике про Содружество, и там предлагался альтернативный вариант — гипнообучение.

Про гипнообучение знали и много говорили даже в советское время (и раньше), и существовали (и сегодня существуют) разного вида методики для такого изучения, но глубоко я в эту тему не погружался, возможно, временно. В общем, с «гипно» пока мутная история, тем более что я в свое время пытался для обучения скорочтению использовать аутотренинг — разновидность гипноза, и не увидел никакого результата. Возможно, я оказался негипнабельным, слабым доказательством чему может быть такой случай из моего того же советского прошлого. К нам в город приехал гипнотизер и выступал на сцене. Это была довольно распространенная практика того времени. Было весело, особенно когда люди (все же думаю, подсадные) под гипнозом на сцене изображали известных на тот момент артистов. Ну так вот, для определения внушаемости вначале гипнотизер попросил сцепить руки всех в зале, сказал, что они не могут их расцепить, и тех, кто не может, выйти на сцену. У меня руки расцепились, а у друга, с которым я ходил, — нет. И он был сильно этим обескуражен.

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

Собственно, потому программа и не учитель, потому что не учит. Она заставляет тебя зазубривать данные. Слова. Фразы. Понятия. Поэтому этот нейроучитель не подходит для того, чтобы реально изучить какой-то объем знаний, но он может тебя заставить вызубрить... Ну, например, увеличить словарный запас. И это прям тоже неплохо! Осталось только придумать эффективный алгоритм под это дело, ведь тупо показывать слова с переводами — это даже не смешно и ничем не отличается от чтения словаря.

Так что какое-то время я прям гордился, что придумал нечто уникальное. Недолго. Но об этом ниже. :-(

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

Блин, остается банальное нажатие на кнопки. Ну а как иначе? Столько написано, придумано и ради того, чтобы сказать: «Ты придумал книжку с перелистыванием страниц!»? Я уж подумал, что от осетра ничего, кроме хвоста, не осталось. Но, присмотревшись, увидел, что хвост-то шевелится! :-)

То, что ученик специально может некорректно нажимать на кнопки, не имеет никакого значения — человек осознанно решил что-то вызубрить, так что этот момент игнорим, ибо нефиг. Таким образом мы можем показывать человеку знания и проверять его запоминание. Чего нам и нужно. Тут главное в алгоритме показа. А сам алгоритм получился вот прям красивый, на мой взгляд. Я потом, когда делал морду сайта, что-то совсем заленился, описал свою прогу и попросил нейронку сделать страничку. А она обозвала мою прогу с моим «уникальным» алгоритмом какой-то «методикой интервальных повторений». Это название мне показалось странным, полез интересоваться и... Всё уже украдено до нас... Всё это уже было придумано в начале прошлого века и вполне себе эффективно использовалось. Правда, без компов. Ну, потом и компы использовались. Можете поинтересоваться, есть даже на Википедии страничка.


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

Ну, основное я рассказал. «Нейро» тут все же немного используется. Словари можно создавать пустыми и заполнять их ручками, или импортировать из текстового файла, или же сгенерировать с помощью ИИ прямо в настройках программы. Сервис у меня некоммерческий (как минимум сейчас), поэтому есть небольшие ограничения: до двадцати словарей на изучение и до 30 генераций с помощью ИИ. Ну и места свободного не сказать, чтобы прям много. Не хочется пока докупать. Я использую три разных провайдера ИИ, в основном бесплатные модельки, ну и «Гигачат». От последнего я хоть и не в восторге в целом, но на удивление он в задаче генерации слов оригинала и перевода отрабатывает неплохо, даже лайт моделька. Модель от Яндекса я, к своему стыду, так и не смог завести — он мне постоянно ругался на какие-то пермишины, и я, не сумев за час разобраться с проблемой, плюнул. Собственно, у меня на бэкенде проверяется доступность настроенных моделей или провайдеров и используется первая доступная и у которой есть еще свободные токены. Кстати, в чем удобно использовать ИИ — ему все равно, какие языки вы указываете или область знания. Все равно сгенерит что-то вменяемое. Но лучше потом пробежаться глазами и поправить — иногда бывают некорректности.


И результат:


Второй раз ИИ используется в отдельных случаях уже в процессе изучения. Допустим, вы изучаете фразу из 2–3 слов или больше, и все они вам неизвестны. Тогда знание перевода фразы вам не сильно поможет — откуда вам знать, какое слово какому в переводе соответствует? Хоть система и для зазубривания, но лучше все же знать переводы и отдельных слов. Ну и система видит такое дело, и если вы сказали «не знаю такого», то в фоновом режиме запустит алайнинг, где ИИ эти соответствия и проставит, а в следующий раз, когда вам эта фраза попадется и вы не вспомните перевод, то вместе с цельным переводом фразы над каждым словом оригинала проставит его перевод. То есть вы будете иметь представление не только о переводе всей фразы, но и ее частей. Работает, правда, это только в десктопном режиме отображения, когда есть пространство для «раззудись плечо». В мобильном у меня не получилось нормально это все разместить, так что там отключено такое отображение (слов над словами).


Процесс обучения до безобразия прост. Открыли пакет, смотрите на показанное слово и решаете, знаете вы его перевод или нет (или в уме проговариваете перевод — так лучше). Для ответа дается ограниченное время, опытным путем подобрал оптимальное — 8 секунд, но в настройках можно поменять. Если знаете, жмете пробел или на мобильнике зеленую кнопку. Если не успели или не знаете и нажали Z-кнопку на клаве или желтую кнопку на мобилке, показывается перевод, который вы стараетесь запомнить. Из забавного. Пока разрабатывал, сгенерил словарь повышенной сложности из области ИИ. И вот у меня целый месяц перед глазами среди прочих меняющихся слов показывалось одно, которое я никак не мог запомнить. Вот посмотрел, запомнил и тут же забыл. «Bias-variance tradeoff» — «компромис смещение-дисперсия». А потом в какой-то момент в голове щелкнуло при очередном показе, и всё. До сих пор помню, хоть и не повторял, даже сейчас по памяти написал. И даже проверять не буду, правильно ли — если ошибся, значит, сам себе Буратино :-)

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

Аутентификацию сделал простую, старый добрый логин-пароль, без почты или интеграций. Тут и лень повлияла, и есть еще один фактор — мои знакомые будут пробовать сами и детей своих школьников посадят, а система запоминает матрицу результатов конкретного человека, и за один пакет изучения сажать разных людей вообще нет никакого смысла, ибо для нового человека будет применяться набор слов другого человека, и логика поломается. Ну и вот, чтобы не было сложно несколько аккаунтов завести, так и сделал. Дальше видно будет. Восстановления пароля пока тоже нет, так что если вдруг зарегитесь, не забывайте его :-(

Конечно, не всё доделал. Кажется, забыл имплементировать смену кнопок выбора «да»/«нет», может, что-то еще. Например, мне кажется, имело бы смысл добавить функционал обмена пакетами-словарями. Ну, свой кому-то кинуть, или родитель у себя собрал его, потом своему ребенку расшарил. Может, еще что-то.

Кстати! На днях мне должен прийти с Алика датчик мозговых волн. Набор для разработчика, подключается к компу, и можно снимать разные данные. Из простейших, но для поиграться годится. Кроме сырых данных он дает кое-какие и интерпретированные — повышенное внимание или расслаблен ты. Короче, тут можно поиграться и чуть-чуть приблизиться к идеалу, когда тупо смотришь на экран, на то, что тебе показывают, а комп по обратной связи от мозга понимает уровень твоей интеграции в нашу матрицу :-) Идеально было бы разряд тока чтобы давал, если ты уснул :-) Ну или как минимум попытаться реализовать мысленные нажатия кнопок или как-то подавать сигнал. Было бы забавно :-) Есть поле для «поиграться»...

В общем, сам пользуюсь, и мне пока вкусно и удобно, чего и вам желаю! Но хочется все же развить.

Да, собственно сам сервис, https://neuro-teacher.authors.city

Не забыть бы обратную связь прикрутить (пока нет), но если что, пишите на andrew-manson@yandex.ru или в комментах.

Ну и напоследок - всех с Новым 2026 Годом, и надеюсь в нем ИИ никого не обездолит и не лишит работы, здоровья вам всем крепкого, детей - веселых и слегка вредных, а жен - покладистых и верных :-)