text:
Сумерки державы

Программа развития наук об обучении: вычислительное обучение, машинное обучение и нейронаука

Письмо о философии информационных наук на пути их превращения в науки об обучении: философия математики, философия компьютерных наук, философия машинного обучения и философия нейронауки

Автор: математик (которым я уже не буду)

Письмо ученице: код и жертвоприношение - всё связано (с обучением) (источник)

Философия обучения в математике

Ты думаешь, что философия математики неинтересна, но на самом деле это самое интересное. Нужно было взять обучение как основу математики. Не написание доказательств - а изучение доказательств, потому что математическое построение в своей глубине является не логическим построением (это только языковая поверхность), а построением через обучение. Ведь центральная проблема нейронауки - это рассмотрение мозга как единого агента, вместо понимания того, что в мозге существует конкуренция - между мыслями, между модулями (например, за внимание и принятие решений), между разными воспоминаниями, между нейронами, и между разными продолжениями этого предложения (и эта конкуренция параллельна экономической или политической конкуренции, которая строит обучающиеся системы, такие как демократия или капитализм или китайская меритократия, и является источником их победы). Так центральная проблема математики в том, что она не концептуализирует внутри себя своих многочисленных агентов, математиков, которые её изучают, и вообще не концептуализирует обучение, лежащее в основе математики (как раньше не концептуализировала логику, лежащую в основе математики, пока Фреге не сделал логику фундаментом математики, так под логикой - то, что приводит её в действие и что станет в будущем фундаментом математики - это математическое обучение). Более того - обучение должно стать инструментом для определения базовых понятий в математике, на которых всё построено: предел, группа, топология, пространство, доказательство, множество, простые числа, вероятность, функция, последовательность и т.д. И так нужно сделать математике обучающую реконструкцию, аксиоматизацию и новую интерпретацию (как возможная обучающая интерпретация квантовой теории, среди прочих её интерпретаций). Свойство композиции и построения в математике - и особенно в алгебре - происходит из обучаемости и должно быть основано на ней. Ведь предположим, что ты уже научился делать а, б как чёрный ящик. Что это значит, что у тебя есть эта функция? Что значит знать, например, доказательство? Как ты учишься с помощью этого прийти к в? Наступит момент, когда ты больше не сможешь просто сказать "у меня есть функция", но в отличие от интуиционизма Брауэра или аксиоматически-вычислительного построения формализма, построение, которое тебе нужно будет предоставить, является обучающим: как ты научился этой функции. И даже если функция уже существует у тебя (скажем, в нейрологии твоего мозга) как чёрный ящик, то знать её не означает использовать её, то есть знать - это не способность давать её ответы на входные данные, а значение знания - это способность учиться с её помощью, то есть составлять из этого чёрного ящика (которого ты не понимаешь) подходящие продолжения обучения. Как знание доказательства - это не способность цитировать его и приходить от предпосылок к выводам (что и требовалось доказать), а способность составлять из него дополнительные доказательства, то есть продолжать учиться с его помощью. И понимание доказательства - это не что-то, что ты понимаешь внутри него (например, внутри его последовательности), а понимание как строить из него дополнительные доказательства (не просто "использовать" его в существующей системе, как у Витгенштейна, а строить из него продолжение системы и развивать систему, как использование поэтом языка, а не говорящим, то есть как использование программистом компьютера, а не "пользователем"). И здесь обратим внимание например на сходство между нейронными сетями и генетическими алгоритмами. В нейронах построение в основном является соединением и комбинацией чисел (то есть линейной комбинацией - самой простой комбинацией - функций, с действительно минимумом необходимой нелинейности сверху), а в эволюции построение является соединением и комбинацией частей (фактически, это языковая комбинация двух предложений - двух геномов, так что часть слов из первого, а часть из второго. И в конце после сходимости - предложения очень похожи и между ними есть лёгкие вариации, так что предложение всё ещё имеет смысл. "Садовник вырастил злаки в саду" скрещивается с "Садовник вырастил пшеницу в огороде". И их потомок - "Садовник вырастил злаки в огороде"). Так что помимо конкретной разницы между двумя механизмами композиции и построения, то есть соединений, где одно - количественное соединение величин, а другое - текстуально-языковое соединение, есть глубокое сходство между обучением нейронов и эволюцией: поколения - это слои. Базовые компоненты обучения и многочисленны на каждом этапе, и накапливаются друг на друге глубоким образом (то есть очень многослойным), чтобы создать обучение. Эволюция - это и есть глубокое обучение по своей природе, и нельзя отрицать это естественное сходство. То есть мы видим, что в природе построение фундаментально для обучения - даже если в мире обучения могут существовать разные техники построения (сложение, умножение, конкатенация строк, вызов другого участка кода как функции и т.д.) - и так же в логическом и математическом построении. Ведь и в логике есть множественные слои построения, создаваемые комбинацией (в построении есть два измерения, потому что оно соединяет два или более предыдущих элемента - горизонтальное измерение - чтобы создать из них что-то новое - вертикальное измерение. То есть построение создаётся и из множественности вниз, и из множественности возможностей рядом с тобой, как кирпичи в стене). И если вернуться к проекту переопределения математики над обучением, увидим, что эта программа (обучающая программа оснований математики, по аналогии с программой Ленглендса) подходит не только для алгебры, построительной по природе, но и для анализа. Действительно, в алгебре построение фундаментально, и именно поэтому базовые вопросы построения в ней выиграют от обучающего взгляда. Ведь что такое, например, простые числа? Столкновение между двумя методами построения чисел: одним в сложении - и другим в умножении. Это источник загадки (Риман как притча), и её решение будет с помощью новой концептуализации: научиться строить их. Научиться простым числам - это королевский путь к гипотезе Римана. И так можно научиться строить группу. Или научиться множеству (или графу, или игре, или матрице). А в анализе, что значит предел? Приближаться с помощью измерений - значит знать. И топология - это обобщение предела. Предел - это механизм обучения, и когда он успешен, когда можно научиться (то есть что по мере приближения это учит тебя к чему приближаешься), это непрерывно. А когда нельзя научиться - тогда это не непрерывно. И сам этот механизм обучения происходит из топологии непрерывности. То есть в топологии обучение - это более абстрактное обобщение и не основа определения предела, а предел является частным примером его. Когда смотрят на сам механизм обучения (непрерывного) и с него начинают определение - это и есть топология (как замена определению через фильтры, или открытые/закрытые множества, или другие современные предложения). И в анализе мы сможем определить производную с помощью идеи метода, или метод как обобщение идеи производной. Это обучение обучению.

Философия обучения в компьютерных науках

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

Философия алгоритмики

Научился функции или алгоритму? Заметь, что это похоже на предел в анализе - где находится функция (которая является пределом). И вместо эпсилон и дельта, у нас здесь взаимодействие между учителем и учеником. Ученик стремится к пределу (который является его горизонтом), а учитель стоит в позиции меры в пределе, например спрашивает насколько ты близок к результату функции в определённой точке. То есть сторона учителя, сторона, которая измеряет успех, которая судит твою сходимость, она как критерий в NP. И в чём проблема с NP? Что это точно противоположно непрерывному пределу в анализе, потому что в таких проблемах частичное измерение успеха совсем не помогает достижению цели, и не способствует обучению, то есть что ты не можешь преуспеть как ученик. Нет указаний по пути, позволяющих достичь цели. Обучение - это процесс построения из того, что умеют делать - чего-то, что не умеют делать. И всё это напротив меры оценки. И если оценка - это внутренний критерий, не внешний, тогда это путь - который является методом. Но если вообще нет никакого внутреннего критерия, а только внешний? Тогда ты в NP. Когда ты учишь алгоритм, правильно ли определить это как обучение из примера или из демонстрации, то есть как обучение что или как обучение как? Получаешь ли ты только значения входа и выхода функции, которую учишь в определённом случае, или ты получаешь конструктивное построение функции в определённом случае входа-выхода? Ответ должен быть и то и другое, потому что обучение - это как раз разложение функции как построенной из предыдущих функций, что и есть сама демонстрация, но на каждом этапе выбор какую комбинацию из них сделать зависит от примера (является ли доказательство примером или демонстрацией?). Если так, NP - это проблемы, которые легко проверять на них - и трудно учиться (то есть что нельзя обучать - быть учителем - в их случае). И так точно и в проблеме простых чисел, вопрос в том, насколько ты не можешь научиться им, насколько они непредсказуемы (вероятность, которую тоже можно переопределить с помощью обучения). Это суть гипотезы Римана (и поэтому ожидается, что у неё будет глубокая связь с проблемой факторизации простых чисел как односторонней функции). Что такое обучение в простых числах? В каждом простом числе, до которого ты дошёл на последовательности натуральных чисел, то что ты уже знаешь - это строить с помощью умножения числа из всех простых чисел до него. То есть оно (следующее простое) что-то, чему ты не научился и нужно научиться, и глубокий вопрос в том, насколько ограничена твоя способность обучения по сути, если обучающее построение - это построение числа с помощью умножения предыдущих чисел. То есть: в двух важнейших гипотезах в математике существует обучающая формулировка, касающаяся их сути - и должна была быть путём, по которому идут к их решению, если бы мы не столкнулись с языковым мышлением, то есть с очень примитивным и комбинаторным видом построения (как натуральных чисел, так и алгоритмов). В обеих нужно доказать, что определённое явление трудно для обучения - то есть найти что нельзя выучить. В истории математики мы решали базовые гипотезы, к которым вообще не знали как подойти (существование иррациональных чисел, квадратура круга, квинтическое уравнение, теорема Гёделя и т.д.) всегда с помощью такого нового построения, которое смогло уловить явление - и после него доказательство что нельзя построить с его помощью. Заметим, что все эти были проблемами что нельзя сделать (в пифагорейской школе существование иррационального числа было неспособностью построить его как отношение с помощью натуральных чисел, хотя проблема сформулирована в положительной форме), потому что более глубокие проблемы в математике - это всегда проблемы невозможности. Именно потому что математика - это построение - она склонна стоять перед разбитым корытом, когда нужно показать что нельзя построить (и меньше что можно - потому что его можно просто построить). И поэтому чтобы продвинуться в двух ведущих сегодня проблемах невозможности, NP и Риман, нужно построить математическое определение обучения и построения, которое из него следует - и тогда доказательство путём отрицания, что не может быть такого построения, потому что нельзя этому научиться (другими словами: обучение может и должно выразить математическую структуру, которую оно изучает, и наложить на неё ограничения из-за того, что нельзя выучить - что будет выведено из математической теории обучения - и тем самым доказать границы её возможностей). И относительно проблемы NP против P, заметим, что учиться, в общем смысле, обязательно трудно, неэффективно и не полиномиально. И на самом деле может быть достаточно доказать, что учиться - это трудная проблема, потому что легко проверить, что мы научились правильно, в соответствии с примерами. Это сама проблема NP. То есть показать, что если бы был эффективный общий алгоритм обучения - тогда нужно прийти к противоречию (такое приведение к абсурду - что если можно решить проблему обучения, тогда можно легко решить всё, потому что обучение может сначала выучить алгоритм решения, и в такой ситуации можно также научиться решать саму проблему обучения, и так пока не приходят к какому-то минимальному алгоритму обучения, но ведь и он выучен. Кроме того, в такой ситуации есть минимальный полиномиальный показатель для алгоритма в P, который решает проблему NP, и тогда нужно показать, что из-за конструктивных свойств обучения, также алгоритм под ним, то есть что новый построен с его помощью и у него более низкий полиномиальный показатель, решает проблему NP. Альтернативно, разделить информацию между кирпичами, из которых построено решение, и спуститься по индукции ad absurdum, с помощью формулировки идеи, что решение проблемы NP зависит от всей информации, и нет в ней разделяй и властвуй, по крайней мере в обучающем построении. Сама полиномиальность происходит из того, что обучение конструктивно, и два базовых построения - это сложение алгоритмов, и вызов в цикле, то есть сложение и умножение, и отсюда полином в P, то есть объяснение почему это именно определение эффективности и лёгкости решения). Заметим, что базовые вещи в математике - это как-то всегда дискретный бесконечный процесс: простые числа, предел, вычисление, логика... И так будет и в обучении, и на самом деле, обучение - это причина этого явления, потому что оно под ними. И в любом случае, из этого общего свойства следует его способность работать с ними и прорваться к новой математической парадигме, которая за пределами языка (который является текущей математической парадигмой). И тогда заметим, насколько проблема NP на самом деле является проблемой обучения (которая была ошибочно концептуализирована с помощью языка, и поэтому стала такой, что нет языка, подходящего для неё, или способного даже начать уловить её решение), и тогда не поймём, почему мы не поняли, что концептуализация с помощью обучения - это естественное направление её решения. Ведь с помощью обучающего взгляда, мы также видим сходство NP с эволюцией, где обучение - это механизм (спаривание и мутация), который борется против проверки выживания и пригодности, когда очень трудно построить живое существо и обновить в нём, и очень легко проверить выживает оно или нет. Биология всегда находится в позиции трудного обучения перед лицом жестокой природы, которой легко судить её усилия. И здесь, на пути к обучению, мы видим, что красота играет роль в указании направления, чтобы биология могла угадать через короткие пути кто более пригоден, а кто менее. И так же в математике. Трудный критерий доказательства идёт рука об руку с мягким критерием красоты, который позволяет математикам заниматься математикой и продвигаться в математическом обучении, несмотря на то, что это принципиально трудная проблема. И наше мышление также зависит от красивых ходов. И так мы судим и философию.

Философия теории сложности

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

Философия вычислительного обучения

Итак, у тебя есть список функций/алгоритмов/оракулов и у тебя есть функция, которая является их ограниченным сочетанием, и ты учишь их из примеров, которые выбираются как наилучшие, когда на тебе нет вычислительных ограничений. И также не на учителе. И вопрос в том, каков минимум примеров, который возможен с разложением проблемы на подфункции/алгоритмы, когда ты учишься согласно бритве Оккама (например согласно сложности алгоритма, его длине, или другому критерию простоты). Если разложение приходит бесплатно, тогда смотрят на общее число примеров, и тогда разложение максимально, то есть обучение является самым постепенным, какое возможно. Альтернативно, можно как раз смотреть на отношение между примерами и разложением (между числом требуемых примеров и числом подпроблем в данном разложении), которое конечно является обратным отношением. Или исследовать различные топологии различных деревьев разложений одной и той же проблемы (сколькими существенно разными способами можно разложить одну и ту же проблему?). Наша цель - построить дерево обучения способом, который раскладывает проблему на проблемы нетривиальным образом. Потому что если мы посмотрим на минимальное разложение, когда разложение дорого, а примеры бесплатны, то мы получим тривиальное разложение, то есть нет разложения, и мы вернулись к исходной проблеме, где есть только тест и примеры, что похоже на NP. Поэтому можно также посмотреть на все эти возможные разложения, может быть бесконечность таких в определённых функциях, и увидеть, как они сами следуют одно из другого, и каковы свойства лесов таких деревьев. И тогда найти каноническую форму разложения, которая может быть в определённом отношении между количеством разложений и числом примеров. В конце концов не примеры интересны или их число, а структуры дерева - каково разложение алгоритма на подалгоритмы. Или проблемы на подпроблемы. Или разложение теоремы на все возможные доказательства (и на саму математику в целом можно смотреть как на граф доказательств, который можно исследовать как граф, и может быть найти связи между структурой этого графа и математическими структурами). И если разложение, которое даёт учитель, достаточно подробно раскладывает на маленькие подпроблемы, тогда может быть есть эффективный алгоритм для обучения (то есть для нахождения комбинаций построения в соответствии с примерами), и может быть даже просто наивный поиск эффективен, потому что что действительно трудно найти - это разложение. Но если разложение следует из минимального числа примеров (то есть что минимальное число примеров не обязательно требует максимального разложения) то это даёт ему силу (в обоих смыслах). И отсюда можно начать думать о всяких разных функциях соединения разных подфункций, которые создают разные проблемы построения, когда ограничивают то, что разрешено в построении. Например: только линейная комбинация функций, которая даст пример, который дал учитель, или система доказательства, которая докажет как пример доказательства, или выучить группу, которая тоже простая функция (сложение), и можно выучить её с меньшим числом примеров, чем все комбинации её элементов, если разложить её на подпроблемы, и может быть даже будет в примерах меньше информации, чем есть в ней (потому что как сказано остальная информация спрячется в разложении). И тогда мы сможем спросить, сколько примерной информации есть в группе, или в любой другой математической структуре, и это может быть определением учебной информации (в противоположность языковой). Потому что обобщение из примеров не оправдано, кроме как на основе того, что уже есть (функции, которые ты уже выучил, то есть которые были представлены тебе первыми учителем в разложении проблемы на подпроблемы, которые являются более простыми функциями, из которых ты учишь что-то более сложное, как в обучении ребёнка или в развитии эволюции - и это фундаментальное свойство обучения). То есть есть такой намёк использовать то, что ты уже выучил. То, что ты уже знаешь - это твои априори. И в непрерывной функции это экстремально (ведь тебе нельзя усложнять её без необходимости, иначе ты никогда не выучишь даже простые функции, и ты обязан сначала к простоте, из-за бритвы Оккама). Поэтому нужна минимальная комбинация из того, что ты знаешь - которая производит новый пример, который дал учитель. И если ты обязан к простоте, это защищено от обмана. Потому что если есть сговор (например если учитель кодирует требуемые от ученика веса внутри примера), тогда это не удовлетворяет условию бритвы Оккама. Алгоритм отвергается, потому что он не даёт самое простое. Ученик не может выбрать произвольную комбинацию, а только простую и минимальную. Есть внутренний критерий простоты, который выполняет оценивающую, женскую сторону (промежуточные слои оценки), и есть также функция комбинирования (которая различна в каждом обучении математической структуры определённого типа. Например: обучение графов, обучение групп, обучение непрерывных функций - которые можно строить с помощью приближений полиномов или альтернативно в преобразовании Фурье и так далее, обучение алгоритмов, обучение доказательств, обучение игр, обучение топологий, обучение языков, и т.д.). И информация, которую как бы экономят, потому что она не считается - она структурная. То есть: такая, которая следует из структурного разделения (разложения), и поэтому если нет вообще структуры в том, что учат, а только шум, тогда обучение должно быть передачей всей информации. То есть это не обучение, а передача языковой информации.

Философия машинного обучения

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

Философия математики: итог

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

Философия компьютерного обучения

Следующий этап после философии компьютерных наук это философия компьютерного обучения. Состояние глубокого обучения сегодня как состояние персонального компьютера до интернета. И будущее это интернет-сеть глубоких обучающих сетей и классификаторов машинного обучения, соединенных между собой протоколом, и создающих способность комбинировать их в обучающем построении. То есть: соединять разные модули глубокого обучения, каждый из которых специализируется в чем-то, в какую-то большую систему, которая действительно знает много вещей о мире, как мозг, и чтобы не были только изолированные экспертные системы, обученные по специфическим данным. Такая сеть глубоких сетей будет своего рода рынком, где платят немного денег за немного классификации, или любую другую способность или действие, и создается огромная экосистема искусственного обучения. И она будет введением к большому интеллекту - и из неё вырастет искусственный интеллект, а не из какой-то специфической системы - он не определится однажды из какой-то сети в какой-то лаборатории, а из самой сети. Каковы будут естественные категории такого разума? Как в мире вычислений, машина Тьюринга заново определила идею пространства как память, то есть как информацию, которая занимает место, и идею времени как действия в вычислении, то есть как что-то, что занимает время (и отсюда - эффективность), так глубокое обучение определяет их заново. Что такое пространство теперь? Что-то локальное, как в сверточных сетях, то есть система, в которой вещь влияет на вещи близкие к ней. И что такое время? Продолжающаяся память, как в RNN, то есть система, в которой вещь влияет на вещи далекие от неё. Предыдущий мир, мир вычислений, снизил важность пространства (потому что всё в памяти), и уничтожил его естественные измерения (память по своей природе одномерна), и напротив подчеркнул именно измерение времени и скорости. А здесь, в мире глубокого обучения, мы видим что именно есть место для расширения измерения времени, чтобы оно не было больше одномерным, потому что вещи могут влиять издалека с разных направлений - и в более чем одном измерении. Вполне возможна сеть глубокого обучения с двумя измерениями времени и более, то есть соединенная во временном измерении со своими копиями в более чем одном измерении, и не только рекурсивно назад, но рекурсивно в двух переменных/направлениях и более. То есть, если вычисление было темпорализацией пространства (всё, включая деньги, равно времени), то глубокое обучение может быть спациализацией времени (всё будет пространством, даже времена).

Философия глубокого обучения

Из чего состоит глубокое обучение? Из двух самых базовых и примитивных вещей, которые учат в математике, то есть с первого семестра: из линейной алгебры 1 и из матанализа 1. Линейная алгебра это комбинирование, о котором мы говорили (и это самое простое комбинирование из существующих: линейная комбинация). И кроме того существует также производная, которая даёт направление, в соответствии с третьим натанийским постулатом (производная это направление и поэтому она самое простое направление). То есть: что собственно делает обучение? Заменяет примеры направлениями. И что делает обучение глубоким? Что всё это построение делается внутри системы. Это глубина системы (и второй постулат). И обучение уже не всё время близко к поверхности системы, как в языке, в диалоге системы с внешними примерами (в низу сети и в её верху). И кроме того, каждый слой это женщины для слоя под ним и мужчины для того что над ним, согласно четвертому натанийскому постулату. То есть мы видим здесь воплощение на практике всех постулатов (и даже первого, если ты заметила). Прямо как пророчество. И заметим также, что есть здесь два элемента, которые соревнуются друг с другом на протяжении всей истории обучения: направление против структуры. Здесь мы видим их в градиентной производной, которая промывает всё в обратном распространении во время обучения (направление) против построения специфической модели (например специфическая архитектура сети, которая определяется заранее, но еще больше разные идеи, которые менее популярны сегодня, как создание специфической модели обучения с сильными априори для определенной проблемы, вместо общего подхода глубокой сети для любой проблемы). И всё это только современное воплощение той же старой проблемы среды против наследственности, и эмпиризма против рационализма, и Аристотеля против Платона. Или свободной конкуренции и невидимой руки (мир направления) против социализма и государства (мир структуры), либерализма против консерватизма, и ламаркистской эволюции (в крайности направления) против разумного замысла (в крайности структуры). На математическом уровне, направление непрерывно, и связано с миром анализа и геометрии, против структурного комбинирования, которое языковое, и связано с миром алгебры и логики. И глубокое обучение это огромная победа обучающего подхода направления за счет построения в этой диалектике (но еще придет встречное движение), и оно параллельно победе капитализма и демократии (направление коммуникации и выборов против бюрократической и правительственной структуры), или господству гедонизма за счет структуры в обществе. Потому что в глубоком обучении оказывается, что структура намного менее важна чем просто много обратной связи и направления (но конечно есть здесь синтез, потому что где же есть такая высокая иерархия как в глубоком обучении? Только оказывается что детали иерархии менее важны, и фактически всё в ней определяется с помощью направления, и так создается у нас довольно общий механизм обучения, который является своего рода эмпирической чистой доской). Поэтому, чтобы понять что такое обучение, возможно что нужно это взять отношение между примерами, требуемыми для обучения, и предоставлением требуемой структуры, то есть как это меняется (отношение между ними). Чем больше примеров нужно меньше структуры, и наоборот. И понять как эта функция выглядит, и что это важное исследование, а не является ли структура более важной или менее важной чем примеры. Например является ли эта функция линейной, является ли полиномиальной, является ли экспоненциальной, и так далее, в разных областях проблем (например если учат разные математические объекты, а также в разных проблемах в реальности). То есть, что нужно спрашивать это какова связь между количеством примеров и количеством априори. И это та же проблема вариации против смещения, которая находится в сердце машинного обучения (но меньше в сердце глубокого обучения, после большой победы вариации против смещения, с бесчисленными параметрами глубокого обучения, которых намного больше чем количество ограничений).

Философия нейронаук

Какова концептуальная основа, которая вообще позволяет правило как правило Хебба (такое локальное, в противоположность глобальности глубоких сетей), которое склонно к положительной или отрицательной обратной связи (фатально испорченное свойство)? Как правило Хебба вообще возможно, как базовый механизм обучения, у которого нет вообще связи ни с направлениями - ни со структурой, ни с внешним - ни с внутренним? Ну что ж, правило Хебба это не только "стреляют и соединяются" (нейроны, которые стреляют вместе соединяются вместе - братья fire&wire;), но его истинная формулировка в том, что я усиливаю связь от того, кто предсказал меня, и ослабляю от того, кого я предсказал. Поэтому, это правило логично только при предположении что нейроны это также в основном передатчики информации и также независимые качественные оценщики, и тогда это правило создает репутацию, и ищет новизну, чтобы распространить её. Кроме того оно создает слои, потому что оно против цикличности. Оно ищет первого идентифицировать, и поэтому создает конкуренцию кто будет первым идентифицировать, то есть: это конкурентное правило. Но нужно чтобы ни один источник для нейрона не превышал пятьдесят процентов, или по крайней мере фиксированный порог, иначе это испорченная положительная циклическая обратная связь (кроме того, ясно что этого правила одного недостаточно, потому что оно аутистично, и нужен также нейротрансмиттер, который даёт внешнюю обратную связь, и видимо еще формы обратной связи). То есть, правило Хебба может работать только если у тебя (как нейрона) есть способность независимой оценки, и намекает на такую (!). И тогда есть конкуренция за неё. Поэтому оно определенно логично для социальной сети людей, даже больше чем для сети нейронов, казалось бы. Но из любого беглого взгляда на коннектом мозга, или даже одной нейронной сети, кажется что мозг идет очень очень далеко в путях создания беспорядка и разнообразия и шума и сложности, возможно чтобы не дать правилу Хебба сходиться к тривиальности, и дать ему достаточно разнообразные, стохастические, хаотические и нестабильные материалы для работы над ними. Правило Хебба относится к информации как к содержанию, а не как к действию в вычислении (как в восприятии нейронной сети как вида распределенного и параллельного компьютера). То есть, когда есть много избыточности (как в мозге, или во многих других обучающихся системах) и все стоят на одной линии, тогда нужно выбрать правильное сообщение, которое ты передаешь дальше с изменением с относительно маленькими параметрами, то есть когда речь идет больше о передаче информации и меньше о вычислении. И в этом контексте, вся история предсказания сверху вниз в мозге (скажем: когда каждый верхний слой предсказывает тот что под ним, и так например я предсказываю данные чувств которые получу), связана видимо глубоко с правилом Хебба. Потому что кого я предсказываю ведь это излишне чтобы я слушал его. И если так, есть здесь процесс угадывания и сходимости и меньше вычисления. Поэтому нужно заменить слово предсказание на угадывание. В таком восприятии, мозг действует посредством вычисления снизу (вверх) и угадывания сверху (вниз), и тогда есть точки конфликта между ними, или слои конфликта, и кто был прав (и угадал или вычислил продолжение) побеждает там другого. Если каждый верхний слой говорит что должно было быть внизу, и наоборот, то сходимость этого процесса позволяет найти источник ошибки, который является местом откуда начинает неправильная оценка прыгать, и там есть резкий подъем в проблеме. То есть или вычисление - поднимающееся снизу - исказилось в этом месте и стало неправильным, и тогда повлекло ошибку в продолжении слоев вверх, или угадывание - спускающееся сверху - исказилось в этом месте и оказалось неправильным, и тогда повлекло ошибку в угадывании к продолжению слоев вниз. Поэтому, настоящий нейрон это оценщик содержания, а не только оцениваемый. Потому что он решает кого слушать. То есть он оценивается специфически за каждое содержание которое он передает, и оценивает специфически каждое содержание которое он получает. Он не боится механизма бесконечной положительной или отрицательной обратной связи, в котором он слушает только одного друга и никого другого, потому что он слышит достаточно мнений с достаточным шумом, и возможно есть также предел насколько он слушает кого-то (возможно это логарифмическое например). То есть мы видим что у каждого нейрона могут быть не только внешняя обратная связь и направление сверху, но также внутренние способы измерения для оценки, такие как: предсказывает ли он меня, и подходит ли он к предсказанию того кто надо мной сейчас. Распространенное мышление в глубоком обучении рассматривает два направления в сети как отдельные, приходящие в два отдельных этапа: вычисление (прямое распространение) снизу вверх, и обратная связь (обратное распространение) сверху вниз. Но можно думать о них также как о волнах в системе которые продвигаются во времени одновременно, асинхронно и в обоих направлениях, согласно их силе, то есть иногда определенное продвижение останавливается на недовольном нейроне, или целом таком слое, и начинает возвращать обратную связь назад, и наоборот, и есть возвраты и эхо и бурное море, пока оно не сходится к определенному состоянию, и это истинный механизм вычисления сети (а не только снизу вверх). И так и тренировка и выполнение/предсказание это не два отдельных этапа, как будто обратное распространение и прямое распространение происходят параллельно. И так вероятно это происходит в мозге. И если каждый слой предсказывает тот что перед ним, тогда иногда будет возвращаться обратная связь даже от входного слоя, данных, чего не происходит сегодня в глубоком обучении, и жаль, потому что мы упускаем это эхо, и информация в сигнале обратного распространения исчезает и теряется когда она достигает входного слоя (мы не используем эту информацию для сравнения с реальным входом). Но если каждая единица обработки получает направление сверху, и выдает самостоятельно (а не только как часть обратного распространения) направление вниз, то при встрече между низом и верхом градиент или оценка спускающиеся сверху встречаются с тем что поднимается снизу, в вычислении которое было. И если есть несоответствие тогда есть проблема. Для обеих сторон. И если они не согласны в каком направлении сигнал должен измениться, тогда нужно привлечь внимание к несоответствию. И направить к нему ресурсы системы, и так можно обращать внимание на новшества, или на сюрпризы, или на проблемы. Например, на микроуровне, если скажем есть непринятый нейрон, веса от которого дальше близки к нулю, то он получил этим отрицательную обратную связь чтобы стать более полезной и интересной функцией. И если он получает систематически сильные противоречивые обратные связи, тогда возможно он должен разделиться на два нейрона. И если связи двух нейронов слишком похожи, тогда возможно они должны объединиться в один. То есть мы можем формировать архитектуру в соответствии с обратными связями и несоответствиями. А на макроуровне, это позволяет системе искать сюрпризы, и примеры в которых она ошиблась в предсказании будущего, и это любопытство. Например, если слой сверху ошибся в предсказании того что под ним, тогда продолжают исследовать похожие примеры, пока не приходят к решению. Потому что более правильное системное мышление это о сети которая уже научилась (много). И тогда она продолжает учиться еще пример, или сталкивается с новым примером который не соответствует прошлому. В отличие от мышления сегодня где сеть начинает учиться с начала все примеры (младенческое мышление). И поэтому, когда мы идентифицировали проблему, пространство поиска параметров должно работать как поиск, а не только как оптимизация - а исследование. И предлагать больше новшеств - новых комбинаций. В момент когда есть независимая оценка, где слой судит тот что под ним с помощью своей меры, а не только по направлению которое получил от того что над ним (в обратном распространении), ты можешь также выполнять поиск, и сужать пространство поиска на всем пути (то есть между разными слоями, и так поиску не придется взрываться до бесконечных комбинаций в полном переборе). Первое поколение исследования искусственного интеллекта было поиском (как центральная алгоритмическая парадигма, например в логическом выводе), а сегодня искусственный интеллект бежит от поиска как от огня, и заменил его оптимизацией (в настройке непрерывных параметров и статистике), но в будущем будет синтез между ними. У поиска тоже есть что предложить (а не только взрываться), если управлять им правильно, и действительно много раз в мозге выполняется поиск, как и в эволюции, потому что это путь который позволяет более творческие новшества - с помощью комбинации и ее оценки. Ведь сама философия была бы очень скучной и льстивой если бы она была только оптимизацией напротив своей функции оценки, и то что она поиск это то что делает ее трудной и интересной - и творческой, в ее борьбе напротив своей оценки. И почему эволюция быстрее чем полный перебор? Успех эволюции происходит из самой способности составления, то есть вначале поиск с простыми комбинациями, а потом, в следующих слоях, шаги поиска растут, с комбинациями сложных частей самих по себе. И на каждом этапе (то есть слое) есть независимая оценка существа. Так что это не полный перебор потому что предыдущие шаги в обучении влияют на следующие шаги, и направляют их, и поэтому поиск не во всем пространстве возможностей, а только в продвигающемся луче. Если так, явление составления и поколений (=слоев) является базовым в обучении. То есть: и в глубоком обучении и в мозге и в эволюции и в определении общего обучения, у нас есть множество компонентов которые являются черными ящиками, и есть между ними соединения в построении (которое нужно характеризовать в каждом частном случае: в глубоком обучении линейные комбинации с твистом нелинейности, в эволюции - спаривание, и так далее в других системах). Вверх они вычисляют функцию, с помощью низа. А вниз они дают оценку (например с помощью градиента или может быть выбора, например в партнере, понимаешь?).

Философия исследования сетей

Что создает обратная связь? Просто, частичные дифференциальные уравнения и рекурсивные уравнения, которые на самом деле механизмы обратной связи, и отсюда явления сложности и хаоса. Поэтому также в мозге, и в обучении вообще, циклы обратной связи создадут похожие явления, которые являются таким образом естественными для обучения, а не его неисправностями. Но какие типы обратной связи есть? Существуют альтернативные механизмы обратному распространению градиентного спуска (=спуск по склону, в оптимизации) в обратной передаче оценки. Например: стремление к простоте (оценка по измерению насколько это просто, как по бритве Оккама). Или стремление к новизне. Или к вариабельности и разнообразию (определенное распределение). Но самое важное свойство обратной связи не по чему она, а какой размер цикла который она создает, потому что это системное свойство. И здесь выделяется слабость обратного распространения, которое создает огромный цикл обратной связи, который очень искусственный в большой системе - и очень медленный. Более разумная альтернатива и поэтому более распространенная это короткие петли обратной связи (не существует ни одной системы обучения в мире вне искусственных нейронных сетей которая учится обратным распространением). Например в мозге, есть много обратных связей назад между слоями нейронов, в обратном направлении (которых не существует в глубоком обучении). Чего не хватает сегодня в понимании мозга - а также в глубоком обучении - это идея конкуренции, и распространения идеи в популяции (что как раз больше подходит к общему б). Ведь на каждом этапе, конкурируют в мозге несколько возможностей, несколько мыслей продолжения, и выбирается одна. То есть существует конкуренция за какую-то оценку, которая выбирает как продолжить обучение. То есть: величайшая важность обратной связи это именно в конкуренции которую она создает (точно как в экономике или демократии, само существование обратной связи это важное, даже если она не идеальная). Но в слишком большом цикле обратной связи все это теряется или неэффективно, по сравнению с близкой конкуренцией в маленьких циклах. Также в алгоритме PageRank Google есть хабы, которые оценивают, и это на самом деле его суть - анализ графа так что часть вершин в сети оценивают других (и в свою очередь оцениваются ими). Все это очень похоже на нейронные сети, и так создается конкуренция между сайтами за рейтинг, и в общем конкуренция качества в сети. А в науке? Каждая статья цитирует других, то есть это оценка в сети, где нет слоев а все соединены со всеми. И слои создаются по времени публикации (каждая статья оценивает те что опубликованы до нее). То есть у нас здесь слои которые оценивают те что перед ними, и оцениваются теми что после них, и так создается конкуренция, с помощью очень простого сетевого механизма. В этих двух случаях не нужен большой внешний цикл обратной связи извне чтобы создать оценку и конкуренцию, а оценка в них создается из самих себя. Не обязательно непременно сильная внешняя оценка как в эволюции чтобы создать конкуренцию, и это ключ к неконтролируемому обучению, которое является доминирующим обучением в мозге, и большой недостаток глубокого обучения, которое нуждается в огромном количестве примеров (кстати, и в эволюции основная конкуренция это за партнершу, то есть за маленькие циклы обратной связи, внутренние для вида, а не против большого вымирания). Так мы видим что именно в сетях где нет явной внешней оценки, например в Facebook, на фондовом рынке, и в знакомствах, и в статьях, все еще возможна сильная конкуренция. В таких сетях ты получаешь число, как цена или лайки или h-index или pagerank и рейтинг в Google, и направление на тебя. Это число не дает тебе какого-либо направления, а только оценку, и ты должен интерпретировать его и понять из него в каком направлении ты должен измениться. И это в отличие от градиента который направляет тебя в глубоком обучении, который является направлением которое дано тебе сверху. И может быть можно утверждать что полиномиальная область это то в чем есть умеренное направление, а NP это класс проблем без направления, и не производная, а хаотическая и не локальная. Поэтому нужно учиться от NP что оценки недостаточно для обучения. Только направление. Ведь NP это именно этот огромный цикл обратной связи, извне, который оказывается не дает ничего обучению внутри, которое приведет нас к решению. Нельзя вывести из такой оценки направление. Является ли полиномиальное ламаркианским попеременно, то есть поддающимся разложению на локальную оптимизацию, то есть оно построение+направление? В мозге еще не знают как работает обучение, но в эволюции да, и мы видим что и в ней есть ключевое свойство: независимая функция оценки, из-за чего есть два пола. То есть даже если есть сильная внешняя оценка жизни и смерти, чтобы обучение работало нужно внутри системы также независимая внутренняя оценка, пола. Большой цикл обратной связи должен быть разложен на маленькие и более близкие циклы обратной связи, которые не только производная, в обоих смыслах, от него. Также в культурной/политической/корпоративной/экономической сети есть функции независимой оценки. А именно: есть части у которых это вся их функция. И тогда есть конкуренция за нее, а именно есть дублирование и избыточность и разнообразие и различие и сравнение между альтернативами (иначе зачем существует психическая избыточность во всех системах обучения? почему есть так много нейронов в мозге и генов в геноме и организмов в виде - и людей в государстве). Если так, как работает внутренняя оценка? Как она оценивается сама? Что ж, есть просто независимые единицы оценки внутри системы, которые направляют независимо, а не только большой общий цикл обратной связи. В общем, общая обратная связь системе редка и дорога, и поэтому полагаются на вторичные функции оценки. И просто учат также функции оценки. И что происходит в NP? Вторичные оценки не успевают. На самом деле, вся идея обучения с подкреплением извне системы как вещи которая создает обучение системы (например бихевиоризм) это концептуальная ошибка, источник которой в упрощенной философской картине обучения. Никогда у нас нет конечной обратной связи, весь счет еще не закончен.

Философия нейронных сетей

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

Философия глубокого обучения: итог

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

Культура и литература

html_raw:
<!DOCTYPE html><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Программа развития наук об обучении: вычислительное обучение, машинное обучение и нейронаука - Сумерки державы</title><link rel="icon" type="image/png" href="../favicon-192x192.png" sizes="192x192"><link rel="apple-touch-icon" sizes="180x180" href="../apple-touch-icon-180x180.png"><link rel="canonical" href="https://degeneration-of-nation.org/ru/culture&literature76" /><meta property="og:image" content="https://degeneration-of-nation.org/img/kod.jpg" /><link rel="license" href="https://creativecommons.org/licenses/by/4.0/"><link rel="stylesheet" href="../styles.css"><link rel="stylesheet" href="../column.css"><link rel="stylesheet" href="../article.css">
Сумерки державы

Программа развития наук об обучении: вычислительное обучение, машинное обучение и нейронаука

Письмо о философии информационных наук на пути их превращения в науки об обучении: философия математики, философия компьютерных наук, философия машинного обучения и философия нейронауки

Автор: математик (которым я уже не буду)

Письмо ученице: код и жертвоприношение - всё связано (с обучением) (источник)

Философия обучения в математике

Ты думаешь, что философия математики неинтересна, но на самом деле это самое интересное. Нужно было взять обучение как основу математики. Не написание доказательств - а изучение доказательств, потому что математическое построение в своей глубине является не логическим построением (это только языковая поверхность), а построением через обучение. Ведь центральная проблема нейронауки - это рассмотрение мозга как единого агента, вместо понимания того, что в мозге существует конкуренция - между мыслями, между модулями (например, за внимание и принятие решений), между разными воспоминаниями, между нейронами, и между разными продолжениями этого предложения (и эта конкуренция параллельна экономической или политической конкуренции, которая строит обучающиеся системы, такие как демократия или капитализм или китайская меритократия, и является источником их победы). Так центральная проблема математики в том, что она не концептуализирует внутри себя своих многочисленных агентов, математиков, которые её изучают, и вообще не концептуализирует обучение, лежащее в основе математики (как раньше не концептуализировала логику, лежащую в основе математики, пока Фреге не сделал логику фундаментом математики, так под логикой - то, что приводит её в действие и что станет в будущем фундаментом математики - это математическое обучение). Более того - обучение должно стать инструментом для определения базовых понятий в математике, на которых всё построено: предел, группа, топология, пространство, доказательство, множество, простые числа, вероятность, функция, последовательность и т.д. И так нужно сделать математике обучающую реконструкцию, аксиоматизацию и новую интерпретацию (как возможная обучающая интерпретация квантовой теории, среди прочих её интерпретаций). Свойство композиции и построения в математике - и особенно в алгебре - происходит из обучаемости и должно быть основано на ней. Ведь предположим, что ты уже научился делать а, б как чёрный ящик. Что это значит, что у тебя есть эта функция? Что значит знать, например, доказательство? Как ты учишься с помощью этого прийти к в? Наступит момент, когда ты больше не сможешь просто сказать "у меня есть функция", но в отличие от интуиционизма Брауэра или аксиоматически-вычислительного построения формализма, построение, которое тебе нужно будет предоставить, является обучающим: как ты научился этой функции. И даже если функция уже существует у тебя (скажем, в нейрологии твоего мозга) как чёрный ящик, то знать её не означает использовать её, то есть знать - это не способность давать её ответы на входные данные, а значение знания - это способность учиться с её помощью, то есть составлять из этого чёрного ящика (которого ты не понимаешь) подходящие продолжения обучения. Как знание доказательства - это не способность цитировать его и приходить от предпосылок к выводам (что и требовалось доказать), а способность составлять из него дополнительные доказательства, то есть продолжать учиться с его помощью. И понимание доказательства - это не что-то, что ты понимаешь внутри него (например, внутри его последовательности), а понимание как строить из него дополнительные доказательства (не просто "использовать" его в существующей системе, как у Витгенштейна, а строить из него продолжение системы и развивать систему, как использование поэтом языка, а не говорящим, то есть как использование программистом компьютера, а не "пользователем"). И здесь обратим внимание например на сходство между нейронными сетями и генетическими алгоритмами. В нейронах построение в основном является соединением и комбинацией чисел (то есть линейной комбинацией - самой простой комбинацией - функций, с действительно минимумом необходимой нелинейности сверху), а в эволюции построение является соединением и комбинацией частей (фактически, это языковая комбинация двух предложений - двух геномов, так что часть слов из первого, а часть из второго. И в конце после сходимости - предложения очень похожи и между ними есть лёгкие вариации, так что предложение всё ещё имеет смысл. "Садовник вырастил злаки в саду" скрещивается с "Садовник вырастил пшеницу в огороде". И их потомок - "Садовник вырастил злаки в огороде"). Так что помимо конкретной разницы между двумя механизмами композиции и построения, то есть соединений, где одно - количественное соединение величин, а другое - текстуально-языковое соединение, есть глубокое сходство между обучением нейронов и эволюцией: поколения - это слои. Базовые компоненты обучения и многочисленны на каждом этапе, и накапливаются друг на друге глубоким образом (то есть очень многослойным), чтобы создать обучение. Эволюция - это и есть глубокое обучение по своей природе, и нельзя отрицать это естественное сходство. То есть мы видим, что в природе построение фундаментально для обучения - даже если в мире обучения могут существовать разные техники построения (сложение, умножение, конкатенация строк, вызов другого участка кода как функции и т.д.) - и так же в логическом и математическом построении. Ведь и в логике есть множественные слои построения, создаваемые комбинацией (в построении есть два измерения, потому что оно соединяет два или более предыдущих элемента - горизонтальное измерение - чтобы создать из них что-то новое - вертикальное измерение. То есть построение создаётся и из множественности вниз, и из множественности возможностей рядом с тобой, как кирпичи в стене). И если вернуться к проекту переопределения математики над обучением, увидим, что эта программа (обучающая программа оснований математики, по аналогии с программой Ленглендса) подходит не только для алгебры, построительной по природе, но и для анализа. Действительно, в алгебре построение фундаментально, и именно поэтому базовые вопросы построения в ней выиграют от обучающего взгляда. Ведь что такое, например, простые числа? Столкновение между двумя методами построения чисел: одним в сложении - и другим в умножении. Это источник загадки (Риман как притча), и её решение будет с помощью новой концептуализации: научиться строить их. Научиться простым числам - это королевский путь к гипотезе Римана. И так можно научиться строить группу. Или научиться множеству (или графу, или игре, или матрице). А в анализе, что значит предел? Приближаться с помощью измерений - значит знать. И топология - это обобщение предела. Предел - это механизм обучения, и когда он успешен, когда можно научиться (то есть что по мере приближения это учит тебя к чему приближаешься), это непрерывно. А когда нельзя научиться - тогда это не непрерывно. И сам этот механизм обучения происходит из топологии непрерывности. То есть в топологии обучение - это более абстрактное обобщение и не основа определения предела, а предел является частным примером его. Когда смотрят на сам механизм обучения (непрерывного) и с него начинают определение - это и есть топология (как замена определению через фильтры, или открытые/закрытые множества, или другие современные предложения). И в анализе мы сможем определить производную с помощью идеи метода, или метод как обобщение идеи производной. Это обучение обучению.

Философия обучения в компьютерных науках

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

Философия алгоритмики

Научился функции или алгоритму? Заметь, что это похоже на предел в анализе - где находится функция (которая является пределом). И вместо эпсилон и дельта, у нас здесь взаимодействие между учителем и учеником. Ученик стремится к пределу (который является его горизонтом), а учитель стоит в позиции меры в пределе, например спрашивает насколько ты близок к результату функции в определённой точке. То есть сторона учителя, сторона, которая измеряет успех, которая судит твою сходимость, она как критерий в NP. И в чём проблема с NP? Что это точно противоположно непрерывному пределу в анализе, потому что в таких проблемах частичное измерение успеха совсем не помогает достижению цели, и не способствует обучению, то есть что ты не можешь преуспеть как ученик. Нет указаний по пути, позволяющих достичь цели. Обучение - это процесс построения из того, что умеют делать - чего-то, что не умеют делать. И всё это напротив меры оценки. И если оценка - это внутренний критерий, не внешний, тогда это путь - который является методом. Но если вообще нет никакого внутреннего критерия, а только внешний? Тогда ты в NP. Когда ты учишь алгоритм, правильно ли определить это как обучение из примера или из демонстрации, то есть как обучение что или как обучение как? Получаешь ли ты только значения входа и выхода функции, которую учишь в определённом случае, или ты получаешь конструктивное построение функции в определённом случае входа-выхода? Ответ должен быть и то и другое, потому что обучение - это как раз разложение функции как построенной из предыдущих функций, что и есть сама демонстрация, но на каждом этапе выбор какую комбинацию из них сделать зависит от примера (является ли доказательство примером или демонстрацией?). Если так, NP - это проблемы, которые легко проверять на них - и трудно учиться (то есть что нельзя обучать - быть учителем - в их случае). И так точно и в проблеме простых чисел, вопрос в том, насколько ты не можешь научиться им, насколько они непредсказуемы (вероятность, которую тоже можно переопределить с помощью обучения). Это суть гипотезы Римана (и поэтому ожидается, что у неё будет глубокая связь с проблемой факторизации простых чисел как односторонней функции). Что такое обучение в простых числах? В каждом простом числе, до которого ты дошёл на последовательности натуральных чисел, то что ты уже знаешь - это строить с помощью умножения числа из всех простых чисел до него. То есть оно (следующее простое) что-то, чему ты не научился и нужно научиться, и глубокий вопрос в том, насколько ограничена твоя способность обучения по сути, если обучающее построение - это построение числа с помощью умножения предыдущих чисел. То есть: в двух важнейших гипотезах в математике существует обучающая формулировка, касающаяся их сути - и должна была быть путём, по которому идут к их решению, если бы мы не столкнулись с языковым мышлением, то есть с очень примитивным и комбинаторным видом построения (как натуральных чисел, так и алгоритмов). В обеих нужно доказать, что определённое явление трудно для обучения - то есть найти что нельзя выучить. В истории математики мы решали базовые гипотезы, к которым вообще не знали как подойти (существование иррациональных чисел, квадратура круга, квинтическое уравнение, теорема Гёделя и т.д.) всегда с помощью такого нового построения, которое смогло уловить явление - и после него доказательство что нельзя построить с его помощью. Заметим, что все эти были проблемами что нельзя сделать (в пифагорейской школе существование иррационального числа было неспособностью построить его как отношение с помощью натуральных чисел, хотя проблема сформулирована в положительной форме), потому что более глубокие проблемы в математике - это всегда проблемы невозможности. Именно потому что математика - это построение - она склонна стоять перед разбитым корытом, когда нужно показать что нельзя построить (и меньше что можно - потому что его можно просто построить). И поэтому чтобы продвинуться в двух ведущих сегодня проблемах невозможности, NP и Риман, нужно построить математическое определение обучения и построения, которое из него следует - и тогда доказательство путём отрицания, что не может быть такого построения, потому что нельзя этому научиться (другими словами: обучение может и должно выразить математическую структуру, которую оно изучает, и наложить на неё ограничения из-за того, что нельзя выучить - что будет выведено из математической теории обучения - и тем самым доказать границы её возможностей). И относительно проблемы NP против P, заметим, что учиться, в общем смысле, обязательно трудно, неэффективно и не полиномиально. И на самом деле может быть достаточно доказать, что учиться - это трудная проблема, потому что легко проверить, что мы научились правильно, в соответствии с примерами. Это сама проблема NP. То есть показать, что если бы был эффективный общий алгоритм обучения - тогда нужно прийти к противоречию (такое приведение к абсурду - что если можно решить проблему обучения, тогда можно легко решить всё, потому что обучение может сначала выучить алгоритм решения, и в такой ситуации можно также научиться решать саму проблему обучения, и так пока не приходят к какому-то минимальному алгоритму обучения, но ведь и он выучен. Кроме того, в такой ситуации есть минимальный полиномиальный показатель для алгоритма в P, который решает проблему NP, и тогда нужно показать, что из-за конструктивных свойств обучения, также алгоритм под ним, то есть что новый построен с его помощью и у него более низкий полиномиальный показатель, решает проблему NP. Альтернативно, разделить информацию между кирпичами, из которых построено решение, и спуститься по индукции ad absurdum, с помощью формулировки идеи, что решение проблемы NP зависит от всей информации, и нет в ней разделяй и властвуй, по крайней мере в обучающем построении. Сама полиномиальность происходит из того, что обучение конструктивно, и два базовых построения - это сложение алгоритмов, и вызов в цикле, то есть сложение и умножение, и отсюда полином в P, то есть объяснение почему это именно определение эффективности и лёгкости решения). Заметим, что базовые вещи в математике - это как-то всегда дискретный бесконечный процесс: простые числа, предел, вычисление, логика... И так будет и в обучении, и на самом деле, обучение - это причина этого явления, потому что оно под ними. И в любом случае, из этого общего свойства следует его способность работать с ними и прорваться к новой математической парадигме, которая за пределами языка (который является текущей математической парадигмой). И тогда заметим, насколько проблема NP на самом деле является проблемой обучения (которая была ошибочно концептуализирована с помощью языка, и поэтому стала такой, что нет языка, подходящего для неё, или способного даже начать уловить её решение), и тогда не поймём, почему мы не поняли, что концептуализация с помощью обучения - это естественное направление её решения. Ведь с помощью обучающего взгляда, мы также видим сходство NP с эволюцией, где обучение - это механизм (спаривание и мутация), который борется против проверки выживания и пригодности, когда очень трудно построить живое существо и обновить в нём, и очень легко проверить выживает оно или нет. Биология всегда находится в позиции трудного обучения перед лицом жестокой природы, которой легко судить её усилия. И здесь, на пути к обучению, мы видим, что красота играет роль в указании направления, чтобы биология могла угадать через короткие пути кто более пригоден, а кто менее. И так же в математике. Трудный критерий доказательства идёт рука об руку с мягким критерием красоты, который позволяет математикам заниматься математикой и продвигаться в математическом обучении, несмотря на то, что это принципиально трудная проблема. И наше мышление также зависит от красивых ходов. И так мы судим и философию.

Философия теории сложности

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

Философия вычислительного обучения

Итак, у тебя есть список функций/алгоритмов/оракулов и у тебя есть функция, которая является их ограниченным сочетанием, и ты учишь их из примеров, которые выбираются как наилучшие, когда на тебе нет вычислительных ограничений. И также не на учителе. И вопрос в том, каков минимум примеров, который возможен с разложением проблемы на подфункции/алгоритмы, когда ты учишься согласно бритве Оккама (например согласно сложности алгоритма, его длине, или другому критерию простоты). Если разложение приходит бесплатно, тогда смотрят на общее число примеров, и тогда разложение максимально, то есть обучение является самым постепенным, какое возможно. Альтернативно, можно как раз смотреть на отношение между примерами и разложением (между числом требуемых примеров и числом подпроблем в данном разложении), которое конечно является обратным отношением. Или исследовать различные топологии различных деревьев разложений одной и той же проблемы (сколькими существенно разными способами можно разложить одну и ту же проблему?). Наша цель - построить дерево обучения способом, который раскладывает проблему на проблемы нетривиальным образом. Потому что если мы посмотрим на минимальное разложение, когда разложение дорого, а примеры бесплатны, то мы получим тривиальное разложение, то есть нет разложения, и мы вернулись к исходной проблеме, где есть только тест и примеры, что похоже на NP. Поэтому можно также посмотреть на все эти возможные разложения, может быть бесконечность таких в определённых функциях, и увидеть, как они сами следуют одно из другого, и каковы свойства лесов таких деревьев. И тогда найти каноническую форму разложения, которая может быть в определённом отношении между количеством разложений и числом примеров. В конце концов не примеры интересны или их число, а структуры дерева - каково разложение алгоритма на подалгоритмы. Или проблемы на подпроблемы. Или разложение теоремы на все возможные доказательства (и на саму математику в целом можно смотреть как на граф доказательств, который можно исследовать как граф, и может быть найти связи между структурой этого графа и математическими структурами). И если разложение, которое даёт учитель, достаточно подробно раскладывает на маленькие подпроблемы, тогда может быть есть эффективный алгоритм для обучения (то есть для нахождения комбинаций построения в соответствии с примерами), и может быть даже просто наивный поиск эффективен, потому что что действительно трудно найти - это разложение. Но если разложение следует из минимального числа примеров (то есть что минимальное число примеров не обязательно требует максимального разложения) то это даёт ему силу (в обоих смыслах). И отсюда можно начать думать о всяких разных функциях соединения разных подфункций, которые создают разные проблемы построения, когда ограничивают то, что разрешено в построении. Например: только линейная комбинация функций, которая даст пример, который дал учитель, или система доказательства, которая докажет как пример доказательства, или выучить группу, которая тоже простая функция (сложение), и можно выучить её с меньшим числом примеров, чем все комбинации её элементов, если разложить её на подпроблемы, и может быть даже будет в примерах меньше информации, чем есть в ней (потому что как сказано остальная информация спрячется в разложении). И тогда мы сможем спросить, сколько примерной информации есть в группе, или в любой другой математической структуре, и это может быть определением учебной информации (в противоположность языковой). Потому что обобщение из примеров не оправдано, кроме как на основе того, что уже есть (функции, которые ты уже выучил, то есть которые были представлены тебе первыми учителем в разложении проблемы на подпроблемы, которые являются более простыми функциями, из которых ты учишь что-то более сложное, как в обучении ребёнка или в развитии эволюции - и это фундаментальное свойство обучения). То есть есть такой намёк использовать то, что ты уже выучил. То, что ты уже знаешь - это твои априори. И в непрерывной функции это экстремально (ведь тебе нельзя усложнять её без необходимости, иначе ты никогда не выучишь даже простые функции, и ты обязан сначала к простоте, из-за бритвы Оккама). Поэтому нужна минимальная комбинация из того, что ты знаешь - которая производит новый пример, который дал учитель. И если ты обязан к простоте, это защищено от обмана. Потому что если есть сговор (например если учитель кодирует требуемые от ученика веса внутри примера), тогда это не удовлетворяет условию бритвы Оккама. Алгоритм отвергается, потому что он не даёт самое простое. Ученик не может выбрать произвольную комбинацию, а только простую и минимальную. Есть внутренний критерий простоты, который выполняет оценивающую, женскую сторону (промежуточные слои оценки), и есть также функция комбинирования (которая различна в каждом обучении математической структуры определённого типа. Например: обучение графов, обучение групп, обучение непрерывных функций - которые можно строить с помощью приближений полиномов или альтернативно в преобразовании Фурье и так далее, обучение алгоритмов, обучение доказательств, обучение игр, обучение топологий, обучение языков, и т.д.). И информация, которую как бы экономят, потому что она не считается - она структурная. То есть: такая, которая следует из структурного разделения (разложения), и поэтому если нет вообще структуры в том, что учат, а только шум, тогда обучение должно быть передачей всей информации. То есть это не обучение, а передача языковой информации.

Философия машинного обучения

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

Философия математики: итог

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

Философия компьютерного обучения

Следующий этап после философии компьютерных наук это философия компьютерного обучения. Состояние глубокого обучения сегодня как состояние персонального компьютера до интернета. И будущее это интернет-сеть глубоких обучающих сетей и классификаторов машинного обучения, соединенных между собой протоколом, и создающих способность комбинировать их в обучающем построении. То есть: соединять разные модули глубокого обучения, каждый из которых специализируется в чем-то, в какую-то большую систему, которая действительно знает много вещей о мире, как мозг, и чтобы не были только изолированные экспертные системы, обученные по специфическим данным. Такая сеть глубоких сетей будет своего рода рынком, где платят немного денег за немного классификации, или любую другую способность или действие, и создается огромная экосистема искусственного обучения. И она будет введением к большому интеллекту - и из неё вырастет искусственный интеллект, а не из какой-то специфической системы - он не определится однажды из какой-то сети в какой-то лаборатории, а из самой сети. Каковы будут естественные категории такого разума? Как в мире вычислений, машина Тьюринга заново определила идею пространства как память, то есть как информацию, которая занимает место, и идею времени как действия в вычислении, то есть как что-то, что занимает время (и отсюда - эффективность), так глубокое обучение определяет их заново. Что такое пространство теперь? Что-то локальное, как в сверточных сетях, то есть система, в которой вещь влияет на вещи близкие к ней. И что такое время? Продолжающаяся память, как в RNN, то есть система, в которой вещь влияет на вещи далекие от неё. Предыдущий мир, мир вычислений, снизил важность пространства (потому что всё в памяти), и уничтожил его естественные измерения (память по своей природе одномерна), и напротив подчеркнул именно измерение времени и скорости. А здесь, в мире глубокого обучения, мы видим что именно есть место для расширения измерения времени, чтобы оно не было больше одномерным, потому что вещи могут влиять издалека с разных направлений - и в более чем одном измерении. Вполне возможна сеть глубокого обучения с двумя измерениями времени и более, то есть соединенная во временном измерении со своими копиями в более чем одном измерении, и не только рекурсивно назад, но рекурсивно в двух переменных/направлениях и более. То есть, если вычисление было темпорализацией пространства (всё, включая деньги, равно времени), то глубокое обучение может быть спациализацией времени (всё будет пространством, даже времена).

Философия глубокого обучения

Из чего состоит глубокое обучение? Из двух самых базовых и примитивных вещей, которые учат в математике, то есть с первого семестра: из линейной алгебры 1 и из матанализа 1. Линейная алгебра это комбинирование, о котором мы говорили (и это самое простое комбинирование из существующих: линейная комбинация). И кроме того существует также производная, которая даёт направление, в соответствии с третьим натанийским постулатом (производная это направление и поэтому она самое простое направление). То есть: что собственно делает обучение? Заменяет примеры направлениями. И что делает обучение глубоким? Что всё это построение делается внутри системы. Это глубина системы (и второй постулат). И обучение уже не всё время близко к поверхности системы, как в языке, в диалоге системы с внешними примерами (в низу сети и в её верху). И кроме того, каждый слой это женщины для слоя под ним и мужчины для того что над ним, согласно четвертому натанийскому постулату. То есть мы видим здесь воплощение на практике всех постулатов (и даже первого, если ты заметила). Прямо как пророчество. И заметим также, что есть здесь два элемента, которые соревнуются друг с другом на протяжении всей истории обучения: направление против структуры. Здесь мы видим их в градиентной производной, которая промывает всё в обратном распространении во время обучения (направление) против построения специфической модели (например специфическая архитектура сети, которая определяется заранее, но еще больше разные идеи, которые менее популярны сегодня, как создание специфической модели обучения с сильными априори для определенной проблемы, вместо общего подхода глубокой сети для любой проблемы). И всё это только современное воплощение той же старой проблемы среды против наследственности, и эмпиризма против рационализма, и Аристотеля против Платона. Или свободной конкуренции и невидимой руки (мир направления) против социализма и государства (мир структуры), либерализма против консерватизма, и ламаркистской эволюции (в крайности направления) против разумного замысла (в крайности структуры). На математическом уровне, направление непрерывно, и связано с миром анализа и геометрии, против структурного комбинирования, которое языковое, и связано с миром алгебры и логики. И глубокое обучение это огромная победа обучающего подхода направления за счет построения в этой диалектике (но еще придет встречное движение), и оно параллельно победе капитализма и демократии (направление коммуникации и выборов против бюрократической и правительственной структуры), или господству гедонизма за счет структуры в обществе. Потому что в глубоком обучении оказывается, что структура намного менее важна чем просто много обратной связи и направления (но конечно есть здесь синтез, потому что где же есть такая высокая иерархия как в глубоком обучении? Только оказывается что детали иерархии менее важны, и фактически всё в ней определяется с помощью направления, и так создается у нас довольно общий механизм обучения, который является своего рода эмпирической чистой доской). Поэтому, чтобы понять что такое обучение, возможно что нужно это взять отношение между примерами, требуемыми для обучения, и предоставлением требуемой структуры, то есть как это меняется (отношение между ними). Чем больше примеров нужно меньше структуры, и наоборот. И понять как эта функция выглядит, и что это важное исследование, а не является ли структура более важной или менее важной чем примеры. Например является ли эта функция линейной, является ли полиномиальной, является ли экспоненциальной, и так далее, в разных областях проблем (например если учат разные математические объекты, а также в разных проблемах в реальности). То есть, что нужно спрашивать это какова связь между количеством примеров и количеством априори. И это та же проблема вариации против смещения, которая находится в сердце машинного обучения (но меньше в сердце глубокого обучения, после большой победы вариации против смещения, с бесчисленными параметрами глубокого обучения, которых намного больше чем количество ограничений).

Философия нейронаук

Какова концептуальная основа, которая вообще позволяет правило как правило Хебба (такое локальное, в противоположность глобальности глубоких сетей), которое склонно к положительной или отрицательной обратной связи (фатально испорченное свойство)? Как правило Хебба вообще возможно, как базовый механизм обучения, у которого нет вообще связи ни с направлениями - ни со структурой, ни с внешним - ни с внутренним? Ну что ж, правило Хебба это не только "стреляют и соединяются" (нейроны, которые стреляют вместе соединяются вместе - братья fire&wire), но его истинная формулировка в том, что я усиливаю связь от того, кто предсказал меня, и ослабляю от того, кого я предсказал. Поэтому, это правило логично только при предположении что нейроны это также в основном передатчики информации и также независимые качественные оценщики, и тогда это правило создает репутацию, и ищет новизну, чтобы распространить её. Кроме того оно создает слои, потому что оно против цикличности. Оно ищет первого идентифицировать, и поэтому создает конкуренцию кто будет первым идентифицировать, то есть: это конкурентное правило. Но нужно чтобы ни один источник для нейрона не превышал пятьдесят процентов, или по крайней мере фиксированный порог, иначе это испорченная положительная циклическая обратная связь (кроме того, ясно что этого правила одного недостаточно, потому что оно аутистично, и нужен также нейротрансмиттер, который даёт внешнюю обратную связь, и видимо еще формы обратной связи). То есть, правило Хебба может работать только если у тебя (как нейрона) есть способность независимой оценки, и намекает на такую (!). И тогда есть конкуренция за неё. Поэтому оно определенно логично для социальной сети людей, даже больше чем для сети нейронов, казалось бы. Но из любого беглого взгляда на коннектом мозга, или даже одной нейронной сети, кажется что мозг идет очень очень далеко в путях создания беспорядка и разнообразия и шума и сложности, возможно чтобы не дать правилу Хебба сходиться к тривиальности, и дать ему достаточно разнообразные, стохастические, хаотические и нестабильные материалы для работы над ними. Правило Хебба относится к информации как к содержанию, а не как к действию в вычислении (как в восприятии нейронной сети как вида распределенного и параллельного компьютера). То есть, когда есть много избыточности (как в мозге, или во многих других обучающихся системах) и все стоят на одной линии, тогда нужно выбрать правильное сообщение, которое ты передаешь дальше с изменением с относительно маленькими параметрами, то есть когда речь идет больше о передаче информации и меньше о вычислении. И в этом контексте, вся история предсказания сверху вниз в мозге (скажем: когда каждый верхний слой предсказывает тот что под ним, и так например я предсказываю данные чувств которые получу), связана видимо глубоко с правилом Хебба. Потому что кого я предсказываю ведь это излишне чтобы я слушал его. И если так, есть здесь процесс угадывания и сходимости и меньше вычисления. Поэтому нужно заменить слово предсказание на угадывание. В таком восприятии, мозг действует посредством вычисления снизу (вверх) и угадывания сверху (вниз), и тогда есть точки конфликта между ними, или слои конфликта, и кто был прав (и угадал или вычислил продолжение) побеждает там другого. Если каждый верхний слой говорит что должно было быть внизу, и наоборот, то сходимость этого процесса позволяет найти источник ошибки, который является местом откуда начинает неправильная оценка прыгать, и там есть резкий подъем в проблеме. То есть или вычисление - поднимающееся снизу - исказилось в этом месте и стало неправильным, и тогда повлекло ошибку в продолжении слоев вверх, или угадывание - спускающееся сверху - исказилось в этом месте и оказалось неправильным, и тогда повлекло ошибку в угадывании к продолжению слоев вниз. Поэтому, настоящий нейрон это оценщик содержания, а не только оцениваемый. Потому что он решает кого слушать. То есть он оценивается специфически за каждое содержание которое он передает, и оценивает специфически каждое содержание которое он получает. Он не боится механизма бесконечной положительной или отрицательной обратной связи, в котором он слушает только одного друга и никого другого, потому что он слышит достаточно мнений с достаточным шумом, и возможно есть также предел насколько он слушает кого-то (возможно это логарифмическое например). То есть мы видим что у каждого нейрона могут быть не только внешняя обратная связь и направление сверху, но также внутренние способы измерения для оценки, такие как: предсказывает ли он меня, и подходит ли он к предсказанию того кто надо мной сейчас. Распространенное мышление в глубоком обучении рассматривает два направления в сети как отдельные, приходящие в два отдельных этапа: вычисление (прямое распространение) снизу вверх, и обратная связь (обратное распространение) сверху вниз. Но можно думать о них также как о волнах в системе которые продвигаются во времени одновременно, асинхронно и в обоих направлениях, согласно их силе, то есть иногда определенное продвижение останавливается на недовольном нейроне, или целом таком слое, и начинает возвращать обратную связь назад, и наоборот, и есть возвраты и эхо и бурное море, пока оно не сходится к определенному состоянию, и это истинный механизм вычисления сети (а не только снизу вверх). И так и тренировка и выполнение/предсказание это не два отдельных этапа, как будто обратное распространение и прямое распространение происходят параллельно. И так вероятно это происходит в мозге. И если каждый слой предсказывает тот что перед ним, тогда иногда будет возвращаться обратная связь даже от входного слоя, данных, чего не происходит сегодня в глубоком обучении, и жаль, потому что мы упускаем это эхо, и информация в сигнале обратного распространения исчезает и теряется когда она достигает входного слоя (мы не используем эту информацию для сравнения с реальным входом). Но если каждая единица обработки получает направление сверху, и выдает самостоятельно (а не только как часть обратного распространения) направление вниз, то при встрече между низом и верхом градиент или оценка спускающиеся сверху встречаются с тем что поднимается снизу, в вычислении которое было. И если есть несоответствие тогда есть проблема. Для обеих сторон. И если они не согласны в каком направлении сигнал должен измениться, тогда нужно привлечь внимание к несоответствию. И направить к нему ресурсы системы, и так можно обращать внимание на новшества, или на сюрпризы, или на проблемы. Например, на микроуровне, если скажем есть непринятый нейрон, веса от которого дальше близки к нулю, то он получил этим отрицательную обратную связь чтобы стать более полезной и интересной функцией. И если он получает систематически сильные противоречивые обратные связи, тогда возможно он должен разделиться на два нейрона. И если связи двух нейронов слишком похожи, тогда возможно они должны объединиться в один. То есть мы можем формировать архитектуру в соответствии с обратными связями и несоответствиями. А на макроуровне, это позволяет системе искать сюрпризы, и примеры в которых она ошиблась в предсказании будущего, и это любопытство. Например, если слой сверху ошибся в предсказании того что под ним, тогда продолжают исследовать похожие примеры, пока не приходят к решению. Потому что более правильное системное мышление это о сети которая уже научилась (много). И тогда она продолжает учиться еще пример, или сталкивается с новым примером который не соответствует прошлому. В отличие от мышления сегодня где сеть начинает учиться с начала все примеры (младенческое мышление). И поэтому, когда мы идентифицировали проблему, пространство поиска параметров должно работать как поиск, а не только как оптимизация - а исследование. И предлагать больше новшеств - новых комбинаций. В момент когда есть независимая оценка, где слой судит тот что под ним с помощью своей меры, а не только по направлению которое получил от того что над ним (в обратном распространении), ты можешь также выполнять поиск, и сужать пространство поиска на всем пути (то есть между разными слоями, и так поиску не придется взрываться до бесконечных комбинаций в полном переборе). Первое поколение исследования искусственного интеллекта было поиском (как центральная алгоритмическая парадигма, например в логическом выводе), а сегодня искусственный интеллект бежит от поиска как от огня, и заменил его оптимизацией (в настройке непрерывных параметров и статистике), но в будущем будет синтез между ними. У поиска тоже есть что предложить (а не только взрываться), если управлять им правильно, и действительно много раз в мозге выполняется поиск, как и в эволюции, потому что это путь который позволяет более творческие новшества - с помощью комбинации и ее оценки. Ведь сама философия была бы очень скучной и льстивой если бы она была только оптимизацией напротив своей функции оценки, и то что она поиск это то что делает ее трудной и интересной - и творческой, в ее борьбе напротив своей оценки. И почему эволюция быстрее чем полный перебор? Успех эволюции происходит из самой способности составления, то есть вначале поиск с простыми комбинациями, а потом, в следующих слоях, шаги поиска растут, с комбинациями сложных частей самих по себе. И на каждом этапе (то есть слое) есть независимая оценка существа. Так что это не полный перебор потому что предыдущие шаги в обучении влияют на следующие шаги, и направляют их, и поэтому поиск не во всем пространстве возможностей, а только в продвигающемся луче. Если так, явление составления и поколений (=слоев) является базовым в обучении. То есть: и в глубоком обучении и в мозге и в эволюции и в определении общего обучения, у нас есть множество компонентов которые являются черными ящиками, и есть между ними соединения в построении (которое нужно характеризовать в каждом частном случае: в глубоком обучении линейные комбинации с твистом нелинейности, в эволюции - спаривание, и так далее в других системах). Вверх они вычисляют функцию, с помощью низа. А вниз они дают оценку (например с помощью градиента или может быть выбора, например в партнере, понимаешь?).

Философия исследования сетей

Что создает обратная связь? Просто, частичные дифференциальные уравнения и рекурсивные уравнения, которые на самом деле механизмы обратной связи, и отсюда явления сложности и хаоса. Поэтому также в мозге, и в обучении вообще, циклы обратной связи создадут похожие явления, которые являются таким образом естественными для обучения, а не его неисправностями. Но какие типы обратной связи есть? Существуют альтернативные механизмы обратному распространению градиентного спуска (=спуск по склону, в оптимизации) в обратной передаче оценки. Например: стремление к простоте (оценка по измерению насколько это просто, как по бритве Оккама). Или стремление к новизне. Или к вариабельности и разнообразию (определенное распределение). Но самое важное свойство обратной связи не по чему она, а какой размер цикла который она создает, потому что это системное свойство. И здесь выделяется слабость обратного распространения, которое создает огромный цикл обратной связи, который очень искусственный в большой системе - и очень медленный. Более разумная альтернатива и поэтому более распространенная это короткие петли обратной связи (не существует ни одной системы обучения в мире вне искусственных нейронных сетей которая учится обратным распространением). Например в мозге, есть много обратных связей назад между слоями нейронов, в обратном направлении (которых не существует в глубоком обучении). Чего не хватает сегодня в понимании мозга - а также в глубоком обучении - это идея конкуренции, и распространения идеи в популяции (что как раз больше подходит к общему б). Ведь на каждом этапе, конкурируют в мозге несколько возможностей, несколько мыслей продолжения, и выбирается одна. То есть существует конкуренция за какую-то оценку, которая выбирает как продолжить обучение. То есть: величайшая важность обратной связи это именно в конкуренции которую она создает (точно как в экономике или демократии, само существование обратной связи это важное, даже если она не идеальная). Но в слишком большом цикле обратной связи все это теряется или неэффективно, по сравнению с близкой конкуренцией в маленьких циклах. Также в алгоритме PageRank Google есть хабы, которые оценивают, и это на самом деле его суть - анализ графа так что часть вершин в сети оценивают других (и в свою очередь оцениваются ими). Все это очень похоже на нейронные сети, и так создается конкуренция между сайтами за рейтинг, и в общем конкуренция качества в сети. А в науке? Каждая статья цитирует других, то есть это оценка в сети, где нет слоев а все соединены со всеми. И слои создаются по времени публикации (каждая статья оценивает те что опубликованы до нее). То есть у нас здесь слои которые оценивают те что перед ними, и оцениваются теми что после них, и так создается конкуренция, с помощью очень простого сетевого механизма. В этих двух случаях не нужен большой внешний цикл обратной связи извне чтобы создать оценку и конкуренцию, а оценка в них создается из самих себя. Не обязательно непременно сильная внешняя оценка как в эволюции чтобы создать конкуренцию, и это ключ к неконтролируемому обучению, которое является доминирующим обучением в мозге, и большой недостаток глубокого обучения, которое нуждается в огромном количестве примеров (кстати, и в эволюции основная конкуренция это за партнершу, то есть за маленькие циклы обратной связи, внутренние для вида, а не против большого вымирания). Так мы видим что именно в сетях где нет явной внешней оценки, например в Facebook, на фондовом рынке, и в знакомствах, и в статьях, все еще возможна сильная конкуренция. В таких сетях ты получаешь число, как цена или лайки или h-index или pagerank и рейтинг в Google, и направление на тебя. Это число не дает тебе какого-либо направления, а только оценку, и ты должен интерпретировать его и понять из него в каком направлении ты должен измениться. И это в отличие от градиента который направляет тебя в глубоком обучении, который является направлением которое дано тебе сверху. И может быть можно утверждать что полиномиальная область это то в чем есть умеренное направление, а NP это класс проблем без направления, и не производная, а хаотическая и не локальная. Поэтому нужно учиться от NP что оценки недостаточно для обучения. Только направление. Ведь NP это именно этот огромный цикл обратной связи, извне, который оказывается не дает ничего обучению внутри, которое приведет нас к решению. Нельзя вывести из такой оценки направление. Является ли полиномиальное ламаркианским попеременно, то есть поддающимся разложению на локальную оптимизацию, то есть оно построение+направление? В мозге еще не знают как работает обучение, но в эволюции да, и мы видим что и в ней есть ключевое свойство: независимая функция оценки, из-за чего есть два пола. То есть даже если есть сильная внешняя оценка жизни и смерти, чтобы обучение работало нужно внутри системы также независимая внутренняя оценка, пола. Большой цикл обратной связи должен быть разложен на маленькие и более близкие циклы обратной связи, которые не только производная, в обоих смыслах, от него. Также в культурной/политической/корпоративной/экономической сети есть функции независимой оценки. А именно: есть части у которых это вся их функция. И тогда есть конкуренция за нее, а именно есть дублирование и избыточность и разнообразие и различие и сравнение между альтернативами (иначе зачем существует психическая избыточность во всех системах обучения? почему есть так много нейронов в мозге и генов в геноме и организмов в виде - и людей в государстве). Если так, как работает внутренняя оценка? Как она оценивается сама? Что ж, есть просто независимые единицы оценки внутри системы, которые направляют независимо, а не только большой общий цикл обратной связи. В общем, общая обратная связь системе редка и дорога, и поэтому полагаются на вторичные функции оценки. И просто учат также функции оценки. И что происходит в NP? Вторичные оценки не успевают. На самом деле, вся идея обучения с подкреплением извне системы как вещи которая создает обучение системы (например бихевиоризм) это концептуальная ошибка, источник которой в упрощенной философской картине обучения. Никогда у нас нет конечной обратной связи, весь счет еще не закончен.

Философия нейронных сетей

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

Философия глубокого обучения: итог

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

Культура и литература