image

Недавно моя тётя разослала своим коллегам емейлы с темой «задачка по математике! Какой правильный ответ?» В письме была обманчиво простая головоломка:

1 + 4 = 5
2 + 5 = 12
3 + 6 = 21
8 + 11 =?

Для неё решение был очевидным. Но её коллеги решили, что правильным было их решение – не совпавшее с её решением. Проблема была с одним из их ответов, или с самой головоломкой?

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

Для человека задача состоит в поиске какой бы то ни было закономерности. Конечно, наша интуиция ограничивает спектр наших догадок. Но у компьютеров нет интуиции. С точки зрения компьютера сложность в распознавании закономерностей – в их избытке: если существует бесконечное количество одинаково правомерных закономерностей, из-за чего какие-то оказываются правильными, а какие-то – нет?

И эта проблема совсем недавно перешла в практическую плоскость. До 1990-х системы ИИ вообще редко занимались машинным обучением. Допустим, шахматный компьютер Deep Thought, предшественник Deep Blue, не научился шахматам методом проб и ошибок. Вместо этого шахматные гроссмейстеры и волшебники программирования тщательно создавали правила, по которым можно было разбираться в том, хорошая или плохая получается шахматная позиция. Такая скрупулёзная ручная подстройка была типичной для «экспертных систем» того времени.

Чтобы взяться за загадку моей тёти при помощи подхода экспертных систем, необходимо, чтобы человек, прищурившись, взглянул на первые три ряда примеров и заметил в них следующую закономерность:

1 * (4 + 1) = 5

2 * (5 + 1) = 12

3 * (6 + 1) = 21

Затем человек дал бы компьютеру команду следовать закономерности x * (y + 1) = z. Применив это правило к последнему результату, мы получим решение – 96.

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

Но, несмотря на все успехи, эти системы МО требуют наличия программиста где-то в процессе. Возьмём в качестве примера загадку моей тёти. Мы предположили, что в каждой строке есть три значимых компонента (три числа в строке). Но в ней существует потенциальный четвёртый элемент – результат с предыдущей строки. Если это свойство строки допустимо, тогда проявляется другая правдоподобная закономерность:

0 + 1 + 4 = 5

5 + 2 + 5 = 12

12 + 3 + 6 = 21

По этой логике итоговый ответ должен быть равен 40.

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

То же верно и для МО. Даже когда машины обучают сами себя, предпочтительные закономерности выбираются людьми: должно ли ПО для распознавания лиц содержать явные правила если/то, или оно должно расценивать каждую особенность как дополнительное доказательство в пользу или против каждого возможного человека, которому принадлежит лицо? Какие особенности изображения должно обрабатывать ПО? Нужно ли ей работать с отдельными пикселями? А может, с гранями между светлыми и тёмными участками? Выбор подобных вариантов ограничивает то, какие закономерности система сочтёт вероятными или даже возможными. Поиск этой идеальной комбинации и стал новой работой специалистов по МО.

image

Но процесс автоматизации на этом не остановился. Точно так же, как когда-то программисты замучались писать правила работы, теперь они с неохотой отнеслись к разработке новых возможностей. «Разве не было бы здорово, если бы компьютер сам смог разобраться, какие особенности ему нужны?» Так что они разработали нейросети с глубинным обучением – технологию МО, способную самостоятельно делать выводы о свойствах высокого уровня на основе более простой информации. Скормите нейросети набор пикселей, и она научится учитывать края, кривые, текстуры – и всё это без прямых инструкций.

И что же, программисты лишились работы из-за Одного Алгоритма, Чтоб Править Всеми?

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

Эти вопросы ограничивают попытки применения нейросетей к новым задачам; нейросеть, прекрасно распознающая лица, совершенно неспособна на автоматический перевод. И снова выбранные человеком элементы конструкции явно подталкивают сеть к определённым закономерностям, уводя её от других. Знающий человек понимает, что не все закономерности созданы равными. Программисты пока не останутся без работы.

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

Как далеко это может зайти? Научатся ли машины работать самостоятельно настолько хорошо, что внешняя подстройка превратится в старомодную реликвию? В теории, можно представить себе идеального универсального ученика – такого, который сам может решать всё для себя, и всегда выбирает наилучшую схему для выбранной задачи.

Но в 1996-м специалист по информатике Дэвид Уолперт доказал невозможность существования такого ученика. В его знаменитых «теоремах об отсутствии бесплатных обедов» он показал, что для любой закономерности, которой ученик хорошо обучается, существует закономерность, которой он будет обучаться ужасно. Это возвращает нас к загадке моей тёти – к бесконечному количеству закономерностей, которое может возникать из конечных данных. Выбор обучающего алгоритма означает выбор закономерностей, с которыми машина будет справляться плохо. Возможно, все задачи, к примеру, распознавания образов, в итоге попадут в один всеобъемлющий алгоритм. Но ни один обучающийся алгоритм не может одинаково хорошо обучаться всему.

Это делает машинное обучение неожиданно похожим на человеческий мозг. Хотя мы любим считать себя умными, но наш мозг тоже не учится идеально. Каждая часть мозга тщательно настроена эволюцией на распознавание определённых закономерностей – будь это то, что мы видим, язык, который мы слышим, или поведение физических объектов. Но с поиском закономерностей на фондовом рынке мы справляемся уже не так хорошо; тут машины нас обыгрывают.

История машинного обучения насчитывает много закономерностей. Но наиболее вероятной будет следующая: мы будем обучать машины обучаться ещё много лет.

Комментарии (112)


  1. Odessamarin
    07.09.2017 13:10
    +1

    4+7=? )


    1. bopoh13
      07.09.2017 13:59
      +2

      32


    1. Welran
      07.09.2017 14:28

      70


    1. Nomad1
      07.09.2017 15:00
      +11

      11


    1. BelBES
      07.09.2017 15:41
      +6

      А как определена операция '+' ?


      1. DrMummy
        08.09.2017 21:15

        Операция '+' преобразует символы '4' и '7' в символ '?' )


    1. antey86
      07.09.2017 15:49
      +5

      42


    1. tot418
      07.09.2017 23:56

      47


    1. tot418
      08.09.2017 15:16

      del


    1. Peacewalker
      08.09.2017 21:16

      25


    1. momont
      08.09.2017 21:16

      13


  1. BlackMokona
    07.09.2017 13:15
    +1

    Но ни один обучающийся алгоритм не может одинаково хорошо обучаться всему.

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


  1. EvilGenius18
    07.09.2017 13:40
    +8

    Эта головоломка некорректна и не имеет никаких закономерностей: 2 + 5 не равно 12 ни при каких обстоятельствах. Подбирая закономерность, человек меняет условие головоломки с одного: x + y != z на совершенно другое, из которого уже и получаем закономерность: x * (y + 1) = z


    1. Ezhyg
      07.09.2017 14:26

      А не в десятичной системе счисления?
      Вот и ниже red75prim о том же подумал :P


      1. EvilGenius18
        07.09.2017 15:44

        Это уже получается совсем другое условие: x(base a) + y(base b) = z(base c)

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


        1. Ezhyg
          07.09.2017 15:46

          ни при каких обстоятельствах

          Другая система счисления — обстоятельство идущее поперёк вашему утверждению, соответственно ставшему ложным :P.

          «Никогда не говори никогда», ага.


          1. EvilGenius18
            07.09.2017 16:04

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

            А при ваших условиях получится что у бесконечного количества головоломок есть бесконечное количество решений в бесконечном количестве систем счисления, например вот пара примеров ниже:

            1(base ?) * ?(base ?) = ?(base ?) * ?????????????????????????????????(base ?)

            2(base ?) * ?(base ?) = ?(base ?) * ?????????????????????????????????(base ?)

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


            1. Ezhyg
              07.09.2017 16:26

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


              1. EvilGenius18
                07.09.2017 16:42

                Нет, нет, вы не понимаете о чем. Вот несколько примеров с учетом вышеупомянутых допущений:

                Головоломка 1:
                1 + 2 = 4
                Ответ: бесконечное количество решений в бесконечном количестве систем счисления

                Головоломка 2:
                3 + 3 = ? + ??
                Ответ: бесконечное количество решений в бесконечном количестве систем счисления

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

                Зачем вы это будете называть «головоломкой» или задачкой если ответ всегда один и тот же? Какая же это головоломка?


                1. Ezhyg
                  07.09.2017 17:11

                  «Головоломка» имеет только и исключительно одно предназначение, заставить вас поломать голову (подпись — ваш Кэп). Она не обязана вести к конкретному ответу. Головоломками считаются и многие чисто философские рассуждения, и «детские» (ну, многие т.н. «взрослые» так любят говорить) «почему», «что если» и т.д., и т.п., и тыр-пыр, и тра-та-та.

                  Вы же, с какой-то стати, сводите «головоломки» к математическим (ну, если можно так сказать) задачам.


                  1. darkfrei
                    08.09.2017 00:48

                    Головоломка без ответа не интересна. «Множество» ответов всё же интересно и также является головоломки. Как пример, Factorio, где существует множество логистических микроголоволомок, сочетание которых приводит к победе одной глобальной. Возможностей решения глобальной головоломки чуть ли не бесконечность.


                    1. Ezhyg
                      08.09.2017 09:00
                      -1

                      Головоломка без ответа не интересна.

                      Не интересна конкретно, только и исключительно вам лично, конкретно, только и исключительно сейчас.

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


                1. zagayevskiy
                  07.09.2017 17:43

                  можно пример, в какой системе счисления 1 + 2 = 4?


                  1. EvilGenius18
                    07.09.2017 18:12

                    Если следовать логике головоломки в статье, то можно получить в десятичной:
                    1 * (2 + 2) = 4, а также в любой системе, где символы имеют другие индексы или правила, т.е. где символ 4 имеет, например, значение 962785(10), а не следует после 3.


                    1. zagayevskiy
                      07.09.2017 18:19

                      При чём тут логика из статьи? В статье она прослеживается, а у вас — нет.


                      Головоломка 1:
                      1 + 2 = 4
                      Ответ: бесконечное количество решений в бесконечном количестве систем счисления

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


                      1. EvilGenius18
                        07.09.2017 18:44

                        В статье указано что 2 + 5 = 12, хоть и нарушает принципы математики, может быть представлено как x * (y + 1) = z (т.е. как совершенно другое условие)
                        Но это не единственная закономерность, если следовать той же логике и просто менять символы и индексы и добавлять переменные.

                        Вот, к примеру, вам моя 52-ричная система счисления со смещенным индексом символа 4:
                        base_symbols = «0124356789abcdefghijklmnopqrstuvwxyz?I?NO?OUY??ouy?y»

                        Раз уж головоломка позволяет добавлять переменные и менять индексы почему бы и нет?


                        1. zagayevskiy
                          07.09.2017 18:54

                          Нет, в статье указано, что
                          1 + 4 = 5
                          2 + 5 = 12
                          3 + 6 = 21
                          8 + 11 =?
                          И исходя из этого предлагается додумать правила, по которым можно найти (?). И предлагается несколько логичных правил.


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


                          1. EvilGenius18
                            07.09.2017 19:06
                            +3

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

                            Изменение индексов в системе счисления это просто демонстрация того, почему нельзя просто выдумывать подобные условия и говорить, что 2 + 5 равно 12, когда в десятичной системе счисления 2 + 5 дает нам 7

                            Если бы 10-чная система счисления имела арабские цифры в других позициях, они имели бы другие значения


                            1. zagayevskiy
                              08.09.2017 12:26

                              Никто не говорит, что утверждения математически верные. Смысл головоломки в том, что даютстя некие утверждения и из них по логичным правилам или закономерностям можно вывести ещё одно утверждение. Ключевое — логичные правила. Которые можно обосновать. Гуглить "Закон достаточного основания". Ваш пример нелогичен. Вы просто даёте набор символов и предлагаете заменять одни символы другими. Или просто заменяете одно утверждение другим (1 + 2 = 4 => 1 (2 + 2) = 4).
                              В примере
                              1 * (4 + 1) = 5
                              2 * (5 + 1) = 12
                              3 *
                              (6 + 1) = 21
                              1, 2 и 3 — это неявная информация головоломки, берущаяся из номера строки. 3 утверждения друг без друга не составляют головоломку и являются бессмысленными, так же как и ваше 1 + 2 = 4. Все вместе они позволяют извлечь дополнительную информацию и найти неким способом третье число.


          1. 9660
            08.09.2017 03:42
            +1

            Была такая мысль.
            Но в какой системе счисления справедливы одновременно
            2 + 5 = 12
            3 + 6 = 21
            В целом подобные головоломки напоминают предложение из букв «о»,«п»,«ж» и «а» сложить слово счастье. А ответом будет — возьмите еще других букв алфавита и сложите.


        1. amarao
          08.09.2017 11:07

          Головоломка требует придумать хотя бы одно решение. Требование единственности решения требует несравнимо больших усилий и во многих случаях доказательство того, что головоломка имеет единственное решение будет NP-трудной задачей.


    1. Alozar
      08.09.2017 21:15

      Если убрать математические знаки и представить числа в виде таблички с тремя столбцами, будет логичнее?
      В таких задачах запись вида a+b=c сделана исключительно для отвлечения внимания.


  1. Ardogar
    07.09.2017 13:48
    +1

    Надо же, а я сразу решил как
    1*4+1=5
    2*5+2=12
    3*6+3=21
    соответсвенно финальный ответ тоже 96, но методика решения другая. В топку такие задачи, где ты должен подгонять решение под ответ.


    1. Imbecile
      07.09.2017 15:00
      +2

      А если просто вынести за скобки?


    1. bopoh13
      07.09.2017 15:30

      Мы тут посовещались, и решили, что EvilGenius18 прав — для математической задачи недостаточно условий. С таким же успехом можно гадать, что упущено в обобщённых числах Ферма.
      Алгоритмов решения при такой маленькой выборке может быть ещё больше. Подходит как вариант из теста на IQ вида xn + yn + zn-1 = zn, так и вариант решения формулой x * (y + 1) = z.


  1. red75prim
    07.09.2017 13:53
    +13

    1 + 4 = "5" в системе счисления с основанием 6
    2 + 5 = "12" с основанием 5
    3 + 6 = "21" с основанием 4
    8 + 11 = "1001" с основанием 3


    1. MOPOH
      07.09.2017 14:53
      +4

      В системе счисления с основанием 4 нет числа «6».
      И я согласен с EvilGenius18, как ни прищуривайся, задача некорректна. Напоминает самодельный тест на IQ.


      1. red75prim
        07.09.2017 15:02
        +1

        Слева от знака равно числа в десятичной системе, а числа справа я не просто так поставил в кавычки.


        1. mayorovp
          07.09.2017 15:21
          +1

          Тогда правильнее писать вот так, это — общепринятая запись:


          1 + 4 = 56
          2 + 5 = 125
          3 + 6 = 214
          8 + 11 = 10013


          1. rkfg
            07.09.2017 17:36
            +1

            К сожалению, не всем доступна разметка...


          1. bopoh13
            08.09.2017 03:16
            +2

            Тогда правильнее писать
            1910 = 2 * 32 + 0 * 31 + 1 * 30 = 2013


      1. eversyt
        08.09.2017 21:15

        у red75prim только ответ с нужным основанием. левая часть в десятичной системе.


  1. ideological
    07.09.2017 14:19
    +1

    Но с поиском закономерностей на фондовом рынке мы справляемся уже не так хорошо; тут машины нас обыгрывают.
    Ну это же неправда. Нет пока роботов в трединге успешно торгующих без человека. Разве что «высокочастотный трейдинг» (но это лишь за счет скорости и поэтому не в счёт).
    Статейка в тему — Будущее или новый вид мошенничества: что мы знаем об алгоритмической торговле
    А если говорить о технических индикаторах, то они вообще просты как 3 копейки и без ИИ.
    Вообщем, не совсем понятно что тут имелось ввиду.


    1. MaxsimTim
      08.09.2017 21:16

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


  1. pokidovea
    07.09.2017 14:44
    -2

    Нашел еще одну закономерность: если к сумме прибавить ответ предыдущего примера, то получается ожидаемое число.
    1 + 4 = 5
    2 + 5 = 12 # 2 + 5 + 5
    3 + 6 = 21 # 3 + 6 + 12
    8 + 11 = 40 # 8 + 11 + 21


    1. mayorovp
      07.09.2017 15:23

      Этот вариант был в статье:


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

      0 + 1 + 4 = 5

      5 + 2 + 5 = 12

      12 + 3 + 6 = 21


    1. John_Cook
      08.09.2017 21:15

      Ну вроде как в тексте это было написано


  1. mironoffe
    07.09.2017 14:45
    +1

    Только у меня такая закономерность получилась?

    (x) + (x+3) = (x+2)^2 -4

    И соответственно ответ тоже 96?))


    1. Mikihiso
      08.09.2017 21:16

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


  1. mistik_max
    07.09.2017 14:55
    +1

    Очень глубокая публикация, исходя из этой задачки, сразу напрашивается абсурдный вывод: не бывает верных или не верных закономерностей, все можно доказать, как и опровергнуть — что для кому-то может казаться 100% истинной чистой воды, для другого полным бредом и оба они будут правы, каждый со своей стороны…


    1. MTyrz
      07.09.2017 15:53
      +1

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


      1. bopoh13
        07.09.2017 16:33
        +1

        Так, например? (анекдот под картинкой)
        image
        — Петька, приборы!
        — 500, Василий Иванович!
        — Что 500?!
        — А что приборы?


        1. red75prim
          07.09.2017 17:11

          Ответ:

          спойлер
          2+3+3*11 = 38

          Первые три строки — тривально:
          (фигура с 15-ю вершинами)*3 = 45, (фигура 15)=15,
          2 * (4 банана)+15 = 23, (4 банана) = 4,
          4 + 2*(3 часа) = 10, (3 часа) = 3.

          (2 часа) + (3 банана) + (3 банана)*(фигура с 11-ю вершинами) = ??


          1. bopoh13
            07.09.2017 17:47

            Число 38 какую размерность имеет? График построить сможете? :) Здесь нет решений.


            1. red75prim
              07.09.2017 18:06

              38 безразмерных единиц. 3*x*15(вер.)=45, x = 1(вер.-1) и так далее.


              1. bopoh13
                07.09.2017 18:58
                +1

                Можете проще объяснить, что Вы имели ввиду. Я не понял ни «далее», ни «до». Зачем складывать "месяцы до конца года, баранки и баланс телефона"?


                1. red75prim
                  07.09.2017 21:10
                  +1

                  Если вы считаете, что задача 2 яблока + 3 груши =? фруктов не имеет решения по причине разных размерностей элементов, то достаточно установить размерность счетных единиц для яблок как яблоко в минус первой степени, для груш — груша в минус первой степени и.т.д. Тогда размерности сойдутся.


            1. hengenvaarallinen
              07.09.2017 23:32

              Вот если бы было написано:
              15 + 15 + 15 = 45
              4 + 4 + 15 = 23
              4 + 3 + 3 = 10
              2 + 3 + 3 * 11 = ??,
              вас смутил бы разве что вопрос: а к чему первые 3 уравнения.
              Все эти фрукты и часы — просто обозначения для чисел, просто они очень непривычны и сбивают вас с толку.
              Получается просто 38. Число абстрактно. Эта головоломка как раз обращает внимание на абстрактность чисел.


              1. bopoh13
                08.09.2017 02:10

                Логика работает прекрасно. Решите аналогичную?
                3 — ? = 12
                ? — ? + ? — ? = 7
                ? + ? = ?


                1. red75prim
                  08.09.2017 06:48

                  Это не аналогичная задача. Левая часть второго выражения тождественно равна нулю. Коэффициент при лямбда равен 0. Никаких хитрых преобразований или других зацепок не просматривается. Разве что используется арифметика по модулю 7. Но и в этом случае ответ — любое число.


                  1. bopoh13
                    08.09.2017 10:37
                    -1

                    Не аналогичная. Признаю, слукавил (как и в приведённой мной картинке).
                    Но ответ неверный. Арифметика по модулю 10.


          1. thatsme
            07.09.2017 18:43

            Вот-вот, 2 шабонных подхода к решению. И один из них превалирует. Все вот эти коменты про «головоломка или не головоломка», совершенный оффтоп, вне темы. В статье и так говориться про множество решений. Интересно тут: «Почему вообще мозг человека берётся решать подобную задачу и почему превалируют 2 стратегии решения?»


            1. red75prim
              07.09.2017 21:19
              +1

              По теме обсуждать особо нечего. Теорема об отсутствии бесплатного обеда применима только к определенному классу задач. На практике этот класс задач встречается не так часто. Кроме того эта теорема применима как к алгоритмам, так и к людям.


              1. thatsme
                08.09.2017 06:44

                Хм, я наверное как-то не так пишу, что мой ход мыслей не понятен. Влияние теоремы очевидно, однако Ваш пост на поставленный мной вопрос никак не отвечает.

                Посты тут в этой ветке, очень хороший показатель того, о чём я говорю. Превалируют 3 вида постов:
                1. Решение вида 1
                2. Решение вида 2
                3. Некорректность постановки задачи

                Меня сейчас не интересует корректност или не корректность поставленной задачи, — эта категория постов тоже вид решения. То что меня интересует, я в своих двух постах указал.


                1. Caseor
                  09.09.2017 16:47

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


        1. MTyrz
          07.09.2017 22:22
          +2

          Почему же? Есть много классов задач, которые подразумевают множество решений.
          В том числе и упоминаемые ниже головоломки: кубик Рубика, например, можно упорядочить

          не только до однотонной заливки граней,
          image


          1. bopoh13
            07.09.2017 23:05

            Спасибо, я понял. Пример с кубиком-рубиком показательный и не противоречит логике.


    1. kx13
      07.09.2017 20:39
      -1

      Правильно. Вы открыли для себя диалектику.


      Об одном и том же можно высказать две исключающие друг друга идеи. И в своём единстве они как раз и будут отражать истину. Борьба этих противоположностей и есть причина развития.


      Причём это сплошь и рядом воруг нас, но не все это замечают.


  1. thatsme
    07.09.2017 15:18
    +1

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

    Если кто-либо из читающих, занимается подобными исследованиями, было-бы очень интересно узнать: «Есть-ли публикации по данной теме?».


    1. Sychuan
      07.09.2017 21:37

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


      1. thatsme
        08.09.2017 06:52

        Ответы в постах чётко делятся на несколько категорий:
        1. Решение вида 1
        2. Решение вида 2
        3. Вариации обоих решений
        4. Решение с объявлением задачи некорректной или не головоломкой

        Вы меня простите, но это-же смешно! При таком количестве постов, всего 4-е(!) стратегии решения. Это эволюционный баг? Это 4-е оптимальных метода, которым обучилась наша нейросеть? У нас всех, разный жизненный опыт, и он сводится всего-лишь к 4-м стратегиям решения?
        На самом деле учитывая пункт 3, не совсем понятно действительно-ли стратегий всего-лишь 4-е. Т.е. люди предлагающие вариант 3 в другой записи, они имеют уникальную стратегию решения или это вариация стратегий 1,2?


        1. red75prim
          08.09.2017 07:28

          Наооборот, было бы странно, если бы наши мозги выдавали одно из бесконечного множества решений с одинаковой вероятностью.


          Это 4-е оптимальных метода, которым обучилась наша нейросеть?

          А чем не удовлетворяет гипотеза, что это 4 метода решения с минимальной Колмогоровской сложностью?


          1. thatsme
            08.09.2017 08:59

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

            И:
            1. Я в прострации от того что мы такие одинаковы, несмотря на то что мы такие разные.
            2. Чем обусловлены отличия в методах обучения наших нейросетей, при выборе 1-й и 2-й стратегий, и отказе от решения.
            3. Прошу обратить внимание на пост от @SegeyRembo, он заставил свой мозг не полениться и свёл 2 решения в одно с одинаковым результатом, расширив ряд. Отдельная эта стратегия, или умение преодолевать когнитивные искажения вида: эффект фокусировки, эффект узких рамок, систематическая ошибка согласованности, и (!) селективное восприятие? Или-же это Амплификация?


            1. Mikihiso
              11.09.2017 09:27

              Вообще, если отойти от простоты решения, то решение этой задачи можно еще обобщить до вида:
              xi+f(xi)=g(xi), где i=1…
              Функции f и g выбирать так, чтобы они удовлетворяли условиям задачи
              Чтобы здесь получить второй вариант решения всего-лишь полагаем
              f(xi)=f1(xi)+g(xi-1)
              и g(x0)=0,


  1. rinnaatt
    07.09.2017 15:22
    -2

    я не много другую закономерность нашёл:
    «1 + 4 = 5» -> 1 * 4 + 1 = 5
    «2 + 5 = 12» -> 2 * 5 + 2 = 12
    «3 + 6 = 21» -> 3 * 6 + 3 = 21
    «8 + 11 =?» -> 8 * 11 + 8 = 96


    1. mayorovp
      07.09.2017 15:24
      +1

      Не вы один: https://geektimes.ru/post/292737/#comment_10298811


      Но это — не другая закономерность, а та же самая, только скобки раскрыты.


    1. ARad
      07.09.2017 16:54
      -1

      Я тоже такую нашел!


  1. potan
    07.09.2017 15:54
    +1

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


  1. SergeyRembo
    07.09.2017 15:56
    +1

    Если это свойство строки допустимо, тогда проявляется другая правдоподобная закономерность:

    0 + 1 + 4 = 5
    5 + 2 + 5 = 12
    12 + 3 + 6 = 21

    По этой логике итоговый ответ должен быть равен 40.

    Хоть и перевод, но. Для того чтобы результат был не 40 а 96, как и в другом варианте, пример должен выглядеть:
    1 + 4 = 5
    2 + 5 = 12
    3 + 6 = 21

    8 + 11 =?

    Таким образом и первый вариант из статьи и второй даёт 96:
    1 + 4 = 5 (0 + 1 + 4)
    2 + 5 = 12 (5 + 2 + 5)
    3 + 6 = 21 (12 + 3 + 6)
    4 + 7 = 32 (21 + 4 + 7)
    5 + 8 = 45 (32 + 5 + 8)
    6 + 9 = 60 (45 + 6 + 9)
    7 + 10 = 77 (60 + 7 + 10)
    8 + 11 = 96 (77 + 8 + 11)

    И почему-то мне кажется в этом и есть смысл, найти N-й член последовательности.


    1. Caseor
      09.09.2017 16:58

      Для того чтобы результат был не 40 а 96, как и в другом варианте, пример должен выглядеть:
      Не обязательно. Мы просто пропускаем 7.
      1 + 4 = 5
      2 + 5 = 12
      3 + 6 = 21
      8 + 11 =?
      9 + 12 = 61
      10 + 13 = 84
      14 + 17 = 115
      15 + 18 = 117


  1. Nik_sav
    07.09.2017 15:59
    +1

    Лично я уверен, что 8 + 11 = 19, а ответы во втором и третьем случаем просто не верны. -)


    1. nikee
      08.09.2017 21:16

      Аналогично, я подумал, что неправильные ответы даны что бы запутать и просто сложил 8 и 11.


  1. Nuwen
    07.09.2017 16:58
    -2

    1 + 4 = 5
    1 * 4 + 1 = 5
    2 + 5 = 12
    2 * 5 + 2 = 12
    3 + 6 = 21
    3 * 6 + 3 = 21

    8 + 11 =?
    8 * 11 + 8 = 96


    1. Bandicoot
      08.09.2017 21:16

      правильная же формула, почему заминусовали? Пришел к такому же выводу: a * b + a = s


      1. Caseor
        09.09.2017 17:02

        Наверно потому, что это первое решение из самой статьи.


  1. mad_god
    07.09.2017 19:20
    -1

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


    1. mad_god
      09.09.2017 07:57
      -1

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


  1. Spaceoddity
    07.09.2017 19:35

    Я решил что 40 — это очень похоже на всякие тесты IQ, а там не используют сложных алгебраических конструкций.
    Ну и очевидные выводы — для решения задач нейронной сетью, важно учитывать контекст задачи. Чего современные машины в данный момент не умеют в полной мере. Какая полезная статья!


    1. DrFly
      08.09.2017 21:15

      О нашел свой ответ. И это по моему мнению действительно верный ответ. А то выводят всякую логику. Надо смотреть на то, что эта задача дается простому обывателю, на прохождение теста.
      1+4=5
      +(2 + 5) = 12
      +(3 + 6) = 21
      +(8 + 11) =? 40


      1. Caseor
        09.09.2017 17:05

        Это второй ответ из статьи.


  1. kx13
    07.09.2017 20:34
    -1

    Машина не может толком разрешать противоречия и мыслить диалектически.


    Про все это ещё а 1968 году было написано.


    Рекомендую к ознакомлению эту книгу:
    Ильенков Эвальд Васильевич
    ОБ ИДОЛАХ И ИДЕАЛАХ


    Там как раз про ограничения мыслящих машин.


  1. barmaley_exe
    07.09.2017 20:37
    +1

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

    Вот только с практической точки зрения это довольно бесполезный результат. Да, не существует алгоритма, который бы мог всегда "выучивать" закономерности, однако нужно ли нам это? Наш физический мир обладает некоторой структурой и "регулярные" закономерности встречаются чаще других, поэтому достаточно в первую очередь научиться обрабатывать закономерности таких типов, а остальные – по остаточному признаку. Существование обучающихся "машин" под названием "человеческий мозг" служит подтверждением жизнеспособности такого подхода.


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


  1. dernuss
    07.09.2017 22:40

    «1 + 4 = 5» -> 1 + 4x1 = 5
    «2 + 5 = 12» -> 2 +5x2 =12
    «3 + 6 = 21» -> 3 + 6x3 = 21
    «8 + 11 =?» -> 8 + 11x4 = 52


  1. eka1939
    07.09.2017 23:07
    +7

    Бред, а не головоломка.


  1. Quiensabe
    08.09.2017 02:38

    Еще забавный вариант — рассматривать каждое число в тройке независимо от других.
    1 + 4 = 5
    2 + 5 = 12
    3 + 6 = 21
    8 + 11 =?

    Превращается в:
    1 -> 2 -> 3 ->… 8
    4 -> 5 -> 6 ->… 11
    5 -> 12 -> 21 ->…?

    В итоге, видно что первые два числа растут просто на 1 в каждой итерации.
    А последнее растет на 7,9,…
    Конечно, 2 числа мало для построения ряда, но можно предположить, что разница — последовательный ряд нечетных чисел.

    Получится:
    1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8
    4 -> 5 -> 6 -> 7 -> 8 -> 9 -> 10 -> 11
    5 -> 12 -> 21 -> 32 -> 45 -> 60 -> 77 -> 96

    Ответом будет в то же 96.
    Так как формула по сути тождественна варианту из статьи.


  1. Denkenmacht
    08.09.2017 03:20

    Результат каждой предыдущей строки прибавляется к следующему.
    Поэтому ответом может быть либо 40, либо пояснение, что следующим примером должно быть 4+7, а не 8 +11 (по порядку следования), соответственно ряды слагаемых как бы нарушаются и ответом будет 19 как просто результат сложения.


  1. FransisJasper
    08.09.2017 21:15

    А я вообще никаких закономерностей не могу найти…


  1. hexploy
    08.09.2017 21:15

    С учетом нелогичности операции "+" в примерах, воспринял задачку как
    f(1, 4) = 5
    f(2, 5) = 12
    f(3, 6) = 21
    f(8, 11) =?
    Очевидно, что вариантов функции f бесконечное множество.


  1. BOM
    08.09.2017 21:15

    Что это за задачка такая, в которой можно изменять начальные условия? Разве задача не подразумевает того, что начальные условия заданы точно и требуется найти неизвестное, а не путем изменения начальных условий подстроить их под конечный ответ?


  1. ferocactus
    08.09.2017 21:15

    Комментарии вызывают ассоциацию (не в обиду комментаторам): школьники открывают для себя общую алгебру и условность всех «абсолютов».


  1. iwarr
    08.09.2017 21:16

    1+4=5, долнжо быть 5
    2+5=12, должно быть 7, разница 5
    3+6=21, должно быть 21, разница 12 из строки выше.
    Следуя логиге строим еще одну последовательность.
    4+7=11
    5+8=24
    6+9=39
    И еще раз
    8+11=19. Это ответ.


    1. Caseor
      09.09.2017 17:11

      Т.е. 3+6 больше, чем 8+11?


  1. evvlasov
    08.09.2017 21:16

    Выборка из трёх строк как-то маловато для глубокого обучения. Я бы предпочёл массив из полумиллиона строк.


  1. afilei
    08.09.2017 21:16

    Так как это не математика, а закономерности — ну, вот, например:
    #!/bin/bash
    j=4
    for num in 1 2 3 4 5
    do
    echo $((num+j))
    j=$((j+7))
    done


  1. gochaorg
    08.09.2017 21:16

    Вообще странная статья, в конце стати делается вывод

    Но наиболее вероятной будет следующая: мы будем обучать машины обучаться ещё много лет
    из утверждения о множестве противоречивых решений (на примере задачки)
    ну и вопрос к автору, а кто сказал что обучение будет быстрым и закончится?

    Вообще статья больше из области философии, чем из практики.
    Автор пытается предсказать, о том что будет в будущем, но не факт что он прав — будущее покажет.

    Ему можно поставить контр аргументы
    Аргумент 1
    Автор апеллирует к биологической эволюции человека
    Это делает машинное обучение неожиданно похожим на человеческий мозг. Хотя мы любим считать себя умными, но наш мозг тоже не учится идеально. Каждая часть мозга тщательно настроена эволюцией на распознавание определённых закономерностей
    контр аргумент: 70-100 не было даже понятия компьютерные нейроны сети, менее чем 4 поколения людей мы имеем сети способные распознавать образы — т.е. культурная эволюция (в том числе эволюция сетей) развивается значительно быстрее, чем биологическая и сравнивать их не совсем правомерно, это скорее разные понятия, чем общие.

    Аргумент 2
    Сети которые сами обучаются всему — это ближе к понятию Сильного ИИ, о чем спор ведется давно и тут тоже есть своя аргументация, но уже к самой статье — Автор не указал для чего вообще он обучает ту или иную сеть, есть например несколько ответов:
    1) практический — для решения конкретной задачи X
    2) теоретический — идеалистический подход — для создания Искусственного интеллекта Вообще
    3) теоретический — релятивистский — одна из возможных альтернатив человеческому знанию/науке, т.е. создание еще одного институции/области знаний

    А меня смущает больше всего сам заголовок стати «Фундаментальная ошибка» — ну вот с какого… он взял что она фундаментальна?


  1. Rb3As
    08.09.2017 21:16

    Это делает машинное обучение неожиданно похожим на человеческий мозг.

    кхм ВНЕЗАПНО кхм


  1. zitron
    08.09.2017 21:17

    Мы сейчас, как первые механики эпохи Возрождения пытаемся создать механического человека. А история поправляет нас, механический человек не очень то и нужен, востребованы оказались барабанные автоматы, двигатели внутреннего сгорания и видеокарты. И не сказать, что на текущем уровне технологии нельзя сделать довольно реалистичного ходячего и моргающего человека.
    Так же и с ИИ.
    Не надо зацикливаться на попытках воспроизвести мозг. Пусть развитие идёт вообще вбок, пусть логика будет причудливой и неожиданной. Мы люди слишком высокого мнения о себе, хотя сотни исследований, насколько предсказуем человек, могли бы и пошатнуть немного эту веру.
    Понимаете? Люди с их тысячелетней моделью мозга как будто старые трамвайчики, ездят кругами по тем же рельсам, а сейчас есть шанс построить внедорожник, и узнать, что же там, где рельсы ещё не проложили.


    1. Caseor
      09.09.2017 17:17

      Пусть мы сначала создадим свой трамвайчик с поворачивающимися рельсами и токоприёмником. :)


  1. Mikola-BLR
    08.09.2017 21:20

    Надо было голосование добавить в конце статьи:
    40
    96
    другой вариант

    Просто интересно, какой процент читавших решил задачу так же.


  1. Saser
    10.09.2017 21:29

    Мне кажется, что такой математический дискус тут развился из-за того, что автор статьи не совсем корректный пример привёл для машинного обучения — поправьте если я не прав, но в машинном обучении машине даются изначальные данные и ГОТОВЫЙ ПРАВИЛЬНЫЙ результат (ответ), и её задача найти «способ» с помощью которого можно было бы имея эти изначальные данные ПОВТОРИТЬ этот результат применив к начальным данным «способ». А автор дал задачу, где есть только начальные данные, но нет ответа, а следовательно нет критерия для оценки правильности решения, поэтому тут проканают любые алгоритмы с любым результатом и можно их придумывать бесконечно.


    1. maxpsyhos
      11.09.2017 02:28

      Почему же? Слева от знака «равно» входные данные, справа выходные, нужно определить «способ», скрывающийся за знаком "+". 3 первых записи — обучающая выборка, последняя запись — проверочная выборка.


      1. Saser
        11.09.2017 09:03

        Да, согласен с Вами, при таком варианте подходит. Тогда касаемо данного примера просто замечу, что для машинного обучения чем больше обучающих выборок, тем более однозначные результаты будут, хотя наверно в каких-то случаях получится ровно наоборот )