Довольно логично отстаивать особое отношение к группе, к которой относишься даже если она ни чем принципиально не отличается от BDSM-шиков или педофилов. Но нелогично предполагать, что к вам прислушаются если это ваш единственный логичный аргумент. Можно было бы понадеяться что к этому аргументу прислушаются из личного уважения к вам, но беда в том, что я ничего не знаю о вас такого что требовало бы особого уважения, а опубликованная вами статья находится далеко от моей области и не позволяет сформировать к вам особое отношение. А потому вернёмся к логике.
Есть факт, произошёл сбой программы идентификации. Программа сумела отработать исключение не грохнувшись с эксепшеном и при определённых условиях даже способна размножиться, хотя, конечно, с гораздо меньшей вероятностью и шансы на успех у её потомства сильно понижены, за счёт поломанных у вас алгоритмов К-стратегии, мешающих (не запрещающих, кстати) сформировать типичную ячейку по уходу за потомством. На этом факты заканчиваются.
То что сами вы свой баг называете «предпочтенем» это ваш пиар, ну так никто не обязывает других людей на него вестись. Хомячёк от крысы отличается тоже в основном пиаром. Крыса в качестве домашнего животного даже интереснее, её можно с собой носить и людей развлекать, сам в своё время таскал одну на семинары по философии.
На этом всё. Никакого большего уважения с моей стороны к вам нет. А неуважене возникает, чаще всего, когда один из вас пытается заставить меня относиться к вам не так, как я считаю логичным. Ну и ещё потому что процент носителей педерастии в строгом смысле этого слова, той за которую сажают, среди гомосексуалистов заметно выше.
>>Давайте не будем называть людей бракованными из-за того, кто им нравится.
Вы вообще понимаете, что вы только что предложили реабилитировать педофилов, некрофилов, зоофилов и ещё целый ряд экземпляров, которые люди договорились выбраковывать?
На самом деле, на уровне кода, конечно, нет такого понятия как «предпочтения». Это просто ошибка программы, которая определяет подходящий для себя порт по совокупности признаков, не всегда однозначно идентифицирующих подходящий объект. В таких случаях я говорю, что программистам за косвенные признаки нужно отрывать руки по самую жопу.
Но очевидно, что в дикой природе это не только баг, но и фича, потому что при небольшом изменении объекта, мутации, он продолжит опознаваться как сексуальный объект и сможет породить подвид, хотя при более строгой проверке ушёл бы в репродуктивную изоляцию. За эту вот фичу нам всем приходится расплачиваться тем, что мы регулярно слушаем стенания альтернативно пингующих людей, о том, что их конкретный сбой программы нужно уважать, в отличии от тех, чьи ошибки мы договорились не уважать.
Можно ещё гомосексуалистов вспомнить. Детектирование сексуальных объектов вообще писалось с игнором варнингов и даже порой эксепшенов. И с активным использованием DuckTyping. Правда говорить об этом нельзя.
Вы забыли про куриц. Знаменитый кастыль, курица не умеет клевать, она наводится на зерно после чего расслабляет шею и под действием внешнего кода движка голова сама падает куда надо. Главное хорошо прицелиться. Этот баг нефигово доставил космонавтам, которые для экспериментов вывели перепелиные яйца на орбиту и только там после вылупления обнаружили, что что эта пищащая мелочь не способна жрать без постороней помощи. Так до конца экспедиции из консоли и кормили каждого по отдельности. :)
Строго говоря у меня пространство чуть больше чем 460-мерное, по количеству синапсов. А 50 нейронов это не пятьдесят понятий. При применении эффективных алгоритмов — больше. Но в остальном вы, конечно, правы.
С нетерпением жду когда появится время обучить что-нибудь большое на каких нибудь типовых общеизвестных данных. А то мне часто поминают, что я работаю с малюсенькими сетями, а мне и возразить то толком нечего. К сожалению, не раньше чем через пару месяцев.
Не так всё просто. Чем многомернее ландшафт тем больше шансов что путь существует. Однако при этом рельех в целом значительно уплощается, градиенты становятся меньше и для большинства алгоритмов ландшафт становится из-за этого непроходим, при том, что с бесконечно малой скоростью сквозь него вероятно можно прорваться. Сделайте простое действие — возмите сеть, например, с 4 скрытыми солями, и добавьте нейронам предпоследнего слоя синапсы на первый слой. Формально мерность пространства сильно возросла, а фактически качество приближения может упасть.
Ваша картинка — двухмерная, от неё у вас возникает иллюзия понимания.
На самом деле я смотрю на фазовое состояние сети, как описал в своей статье, упоминавшейся выше, оно на 2d только проецируется. И даёт очень неплохое представление о ландшафте. Там видно, что ландшафт на реальных задачах гораздо чаще похож на ту двумерную картинку с большим количеством неглубоких и непрямых оврагов с довольно крутыми стенами связывающих области локальных минимумов, расположенных друг от друга на характерных расстояниях заметно больших, чем размеры самих скоплений минимумов. То есть мы имеем дело скорее с лабиринтом, чем с системой, где есть большой хороший минимум к которому мы идём по области всё более частых локальных минимумов.
«Локальные минимумы» в сильно-многомерном ландшафте возникают около глобальных минимумов
А вот далеко не всегда. У вам может быть в одной части пространства огромная трещётка из локальных минимумов с высотой 0.45, а гораздо более серьёзный минимум дающий в ошибку в 0,2 находится далеко от этого места, и рядом с ним локальных минимумов сильно меньше. Такая картинка у меня в третей птице, например. Такое очень часто возникает когда какой-то один нейрон из первого слоя обучается какому-нибудь хорошему полезному преобразованию координат. Вокруг такого состояния сети отдельных пиков мало, потому что его преобразование легко сломать, а искания соседей влияют на результат несопоставимо слабее чем он. Напротив ситуация, когда локальных минимумов много и они близко к глобальному — типична для неглубоких сетей, для которых роль одиночного нейрона не может быть велика.
Алгоритмы Dropout, RMSProp гляну, сходу не прокомментирую, но я боле чем уверен, то что начальная оптимизация решает дело даже не на четверть. Например посмотрите на вот такое видео обучения: www.youtube.com/watch?v=09wHERJnnEA, вы увидите, что изучать строение второго крыла (ближе к концу видео) сеть начала только после того, как освоила форму первого. Чтобы конечное состояние сети из этого примера стало доступно по схеме «предобучение плюс тонкая подстройка» нужно было бы, чтобы предобучение успешно научило сеть рисовать тушку и первое крыло. Сдаётся мне, что алгоритмы предобучения такого не умеют.
Обучение без учителя я, впрочем, пока, ещё только начал изучать, так что возможно вы в чём-то абсолютно правы.
Ну, наша на много на много проще. Если ваша это Го, то наша — максимум шашки. У нас точный просчёт комбинаций всплывал только когда в окрестностях своего улья возникала каша от которой нужно было избавляться или расчищать себе рабочее пространство. В остальное время плюйся себе разными кораблями, планерами и волнами на скорости света, и наблюдай что творится на засроном игровом поле.
В своё время придумали с другом игру на основе жизни. Поле 26 на 20. У каждого есть участок в 6 клеток на своей половине. Можно ставить точки, но нельзя снимать. У каждого на своей половине есть по Улью. Задача развалить улий противника не развалив свой. Если улей разрушен, то игрок пропускает свои ходы, но победа засчитывается только через 10 раундов, потому что улей может восстановиться. Мы играли на бумажках, поэтому время хода было не ограничено, но в компьютерной версии, наверное, нужно как-то ограничивать.
Профессиональные биологи полны скепсиса по этому вопросу. Как сказал мне один из них, «люди, берущиеся клонировать мамонта для начала продемонстрировали бы клон любого животного умеревшего хотя бы 100 лет назад. Образцов вон тысячи.»
Идея скопировать не всего мамонта целиком, а только перенести в слона некоторые ключевые отличия сама по себе богатая.
Но вот одна проблема. Для получения с помощью CRISPR нормального не химерного животного нужно два поколения, а теперь открываем википедию и смотрим там сколько лет занимает цикл воспроизводства у слонов. Читаем, и понимаем, что мамонтов мы с вами увидим ещё очень не скоро. Хотя, конечно, стремиться к этому нужно.
3 слоя по 15 нейронов это только для статьи было. Так то я занимаюсь сетями в которых слоёв десятки. В сети из третьей статьи если подходить формально, слоёв 28. Но нейронов действительно не много по сравнению с этими монстрами. Явление присутствует.
Сдаётся мне, что и на двухстах миллиардах связей закономерности были бы те же, вопрос только в том, что соотношение «сигнал-шум» было бы сильно хуже. В своих экспериментах я видел как значения скорости меняются на три порядка в норме, и до 7-8 порядков в пределе. Я экспериментировал и с большими сетями, но всё же не на столько большими. При числе синапсов на 6 порядков больше такой сигнал действительно может утонуть в шуме.
Но тут уж, как говорится. Я наблюдением, которое, как мне кажется, связано, вы на него посмотрели. Встретится оно вам или нет, и есть ли оно всегда или только в малых сетях — кто знает.
И если мы знаем, что теоретически должно быть так, а в эксперименте видим, что всё совсем не так, это говорит о чём? О том, что мы где-то неправильно применили математику или смотрим на плохую визуализацию. Или и то и другое одновременно.
В случае простой задачки существует прямой градиентный путь от точки начала до точки конца. Если вы сделаете хотя бы по два нейрона в слое уже возникнет ситуация, когда глобальный минимум из выбранного начала простым спуском вообще недостижим, то есть уже не так всё просто. Однако в реальной практике ландшафт эффективности на много более пересечённый. Точка достижимая из начального состояния по не слишком кривой траектории, как правило, является очень убогим минимумом. Реальной сети приходится пробираться по очень пересечённому рельефу, грубо говоря, не первому, а второму:
Картинка, кстати, из очень хорошей статьи по биологии, где рассмотрели ту же проблему: elementy.ru/news/432406
Я это к чему вспомнил, к тому, что трансфер обученности позволяет передать новой сети знания, полученные предыдущей сети проползшей по всем каньонам и оврагам и вышедшей на хорошее относительно плоское место.
А невидите вы этого потому что визуализация плохая. Если вам моя визуализация не нравится вы можете сделать по другому. Это же, теоретически, степенная зависимость? Так вот нарисуёте на графике не значение скорости изменения, а степень графика приближающего на локальном участке эту скорости. Понятно, что её изменине даже процентов на 40 будет на исходном степенном графике почти незаметным. Вы обнаружите что она не только сильно скачет, но и скачет не случайно. Тоесть пока сеть идёт по аврагу в бок степень может сильно упасть. Через 20-30 эпох когда она из оврага выйдет степень может скакнуть вверх и долго оставаться большей. ПРичём не у всех синапсов, а только у некоторых.
Чрезвычайно интересное зрелище. Поразгладывайте его — не пожалеете.
<минутка_футурологии>Пока бесплатно раздают. Но скоро появится профессия «тренер искуственного интеллекта» и такие пакеты будут для него рабочими инструментами.</минутка футурологии>
Скорее всего продаваться такие фрагменты будут в виде обучающего набора и микропрограммы которая уже имеющуюся сеть будет подстраивать, используя несколько имеющихся в ней нейронов. А потом вы будете накладывать на свою сеть такие паттерны обучения.
Я, кстати, думаю, что поскольку это знание тиражируемо и станет критически важным для обучения сетей скоро начнутся попытки законодательно ограничивать права на такого рода информацию, и вводить контракты, фиксирующие, что обучающие паттерны, которым научился наш станок на вашем производстве принадлежат нам. Некоторый такой современный аналог присвоения прибавленной стоимости.
По крайней мере если я создам фирму, которая будет производить мозговитые станки у меня в контракте такой пункт будет. :)
Есть факт, произошёл сбой программы идентификации. Программа сумела отработать исключение не грохнувшись с эксепшеном и при определённых условиях даже способна размножиться, хотя, конечно, с гораздо меньшей вероятностью и шансы на успех у её потомства сильно понижены, за счёт поломанных у вас алгоритмов К-стратегии, мешающих (не запрещающих, кстати) сформировать типичную ячейку по уходу за потомством. На этом факты заканчиваются.
То что сами вы свой баг называете «предпочтенем» это ваш пиар, ну так никто не обязывает других людей на него вестись. Хомячёк от крысы отличается тоже в основном пиаром. Крыса в качестве домашнего животного даже интереснее, её можно с собой носить и людей развлекать, сам в своё время таскал одну на семинары по философии.
На этом всё. Никакого большего уважения с моей стороны к вам нет. А неуважене возникает, чаще всего, когда один из вас пытается заставить меня относиться к вам не так, как я считаю логичным. Ну и ещё потому что процент носителей педерастии в строгом смысле этого слова, той за которую сажают, среди гомосексуалистов заметно выше.
Вы вообще понимаете, что вы только что предложили реабилитировать педофилов, некрофилов, зоофилов и ещё целый ряд экземпляров, которые люди договорились выбраковывать?
На самом деле, на уровне кода, конечно, нет такого понятия как «предпочтения». Это просто ошибка программы, которая определяет подходящий для себя порт по совокупности признаков, не всегда однозначно идентифицирующих подходящий объект. В таких случаях я говорю, что программистам за косвенные признаки нужно отрывать руки по самую жопу.
Но очевидно, что в дикой природе это не только баг, но и фича, потому что при небольшом изменении объекта, мутации, он продолжит опознаваться как сексуальный объект и сможет породить подвид, хотя при более строгой проверке ушёл бы в репродуктивную изоляцию. За эту вот фичу нам всем приходится расплачиваться тем, что мы регулярно слушаем стенания альтернативно пингующих людей, о том, что их конкретный сбой программы нужно уважать, в отличии от тех, чьи ошибки мы договорились не уважать.
Вы забыли про куриц. Знаменитый кастыль, курица не умеет клевать, она наводится на зерно после чего расслабляет шею и под действием внешнего кода движка голова сама падает куда надо. Главное хорошо прицелиться. Этот баг нефигово доставил космонавтам, которые для экспериментов вывели перепелиные яйца на орбиту и только там после вылупления обнаружили, что что эта пищащая мелочь не способна жрать без постороней помощи. Так до конца экспедиции из консоли и кормили каждого по отдельности. :)
С нетерпением жду когда появится время обучить что-нибудь большое на каких нибудь типовых общеизвестных данных. А то мне часто поминают, что я работаю с малюсенькими сетями, а мне и возразить то толком нечего. К сожалению, не раньше чем через пару месяцев.
Не так всё просто. Чем многомернее ландшафт тем больше шансов что путь существует. Однако при этом рельех в целом значительно уплощается, градиенты становятся меньше и для большинства алгоритмов ландшафт становится из-за этого непроходим, при том, что с бесконечно малой скоростью сквозь него вероятно можно прорваться. Сделайте простое действие — возмите сеть, например, с 4 скрытыми солями, и добавьте нейронам предпоследнего слоя синапсы на первый слой. Формально мерность пространства сильно возросла, а фактически качество приближения может упасть.
На самом деле я смотрю на фазовое состояние сети, как описал в своей статье, упоминавшейся выше, оно на 2d только проецируется. И даёт очень неплохое представление о ландшафте. Там видно, что ландшафт на реальных задачах гораздо чаще похож на ту двумерную картинку с большим количеством неглубоких и непрямых оврагов с довольно крутыми стенами связывающих области локальных минимумов, расположенных друг от друга на характерных расстояниях заметно больших, чем размеры самих скоплений минимумов. То есть мы имеем дело скорее с лабиринтом, чем с системой, где есть большой хороший минимум к которому мы идём по области всё более частых локальных минимумов.
А вот далеко не всегда. У вам может быть в одной части пространства огромная трещётка из локальных минимумов с высотой 0.45, а гораздо более серьёзный минимум дающий в ошибку в 0,2 находится далеко от этого места, и рядом с ним локальных минимумов сильно меньше. Такая картинка у меня в третей птице, например. Такое очень часто возникает когда какой-то один нейрон из первого слоя обучается какому-нибудь хорошему полезному преобразованию координат. Вокруг такого состояния сети отдельных пиков мало, потому что его преобразование легко сломать, а искания соседей влияют на результат несопоставимо слабее чем он. Напротив ситуация, когда локальных минимумов много и они близко к глобальному — типична для неглубоких сетей, для которых роль одиночного нейрона не может быть велика.
Алгоритмы Dropout, RMSProp гляну, сходу не прокомментирую, но я боле чем уверен, то что начальная оптимизация решает дело даже не на четверть. Например посмотрите на вот такое видео обучения: www.youtube.com/watch?v=09wHERJnnEA, вы увидите, что изучать строение второго крыла (ближе к концу видео) сеть начала только после того, как освоила форму первого. Чтобы конечное состояние сети из этого примера стало доступно по схеме «предобучение плюс тонкая подстройка» нужно было бы, чтобы предобучение успешно научило сеть рисовать тушку и первое крыло. Сдаётся мне, что алгоритмы предобучения такого не умеют.
Обучение без учителя я, впрочем, пока, ещё только начал изучать, так что возможно вы в чём-то абсолютно правы.
Было довольно забавно.
Но тут уж, как говорится. Я наблюдением, которое, как мне кажется, связано, вы на него посмотрели. Встретится оно вам или нет, и есть ли оно всегда или только в малых сетях — кто знает.
уже возникнет ситуация, когда глобальный минимум из выбранного начала простым спуском может быть вообще недостижим.
В случае простой задачки существует прямой градиентный путь от точки начала до точки конца. Если вы сделаете хотя бы по два нейрона в слое уже возникнет ситуация, когда глобальный минимум из выбранного начала простым спуском вообще недостижим, то есть уже не так всё просто. Однако в реальной практике ландшафт эффективности на много более пересечённый. Точка достижимая из начального состояния по не слишком кривой траектории, как правило, является очень убогим минимумом. Реальной сети приходится пробираться по очень пересечённому рельефу, грубо говоря, не первому, а второму:
Картинка, кстати, из очень хорошей статьи по биологии, где рассмотрели ту же проблему: elementy.ru/news/432406
Я это к чему вспомнил, к тому, что трансфер обученности позволяет передать новой сети знания, полученные предыдущей сети проползшей по всем каньонам и оврагам и вышедшей на хорошее относительно плоское место.
А невидите вы этого потому что визуализация плохая. Если вам моя визуализация не нравится вы можете сделать по другому. Это же, теоретически, степенная зависимость? Так вот нарисуёте на графике не значение скорости изменения, а степень графика приближающего на локальном участке эту скорости. Понятно, что её изменине даже процентов на 40 будет на исходном степенном графике почти незаметным. Вы обнаружите что она не только сильно скачет, но и скачет не случайно. Тоесть пока сеть идёт по аврагу в бок степень может сильно упасть. Через 20-30 эпох когда она из оврага выйдет степень может скакнуть вверх и долго оставаться большей. ПРичём не у всех синапсов, а только у некоторых.
Чрезвычайно интересное зрелище. Поразгладывайте его — не пожалеете.
Я, кстати, думаю, что поскольку это знание тиражируемо и станет критически важным для обучения сетей скоро начнутся попытки законодательно ограничивать права на такого рода информацию, и вводить контракты, фиксирующие, что обучающие паттерны, которым научился наш станок на вашем производстве принадлежат нам. Некоторый такой современный аналог присвоения прибавленной стоимости.
По крайней мере если я создам фирму, которая будет производить мозговитые станки у меня в контракте такой пункт будет. :)