company_banner

Психология роботов и умные компьютеры: как это работает и где этому научиться. Лекция Максима Мусина в Яндексе

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





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



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

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

    Как работают умные компьютеры


    Человеческое мышление построено на основе сетей нейронов головного мозга. Эти нейроны вдохновили ученых на создание искусственного нейрона. Искуственный нейрон получает на вход несколько значений с различными весами, зависящими от важности входящей связи. Нейрон проводит взвешенное суммирование и выдает предсказанное значение и принимает некоторое решение:



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



    Если сигнал оказывается справа от прямой, он становится синим, а если слева – красным. Нейрон раскрашивает часть плоскости в плюс, а часть плоскости – в минус. Таким образом, у нас появляется способ тренировать искусственные нейроны. Предположим, у нас есть некоторое количество точек, про которые мы знаем, плюсовые они или минусовые. Мы берем наш нейрон и за счет манипуляции с весами мы получаем каждый раз новое уравнение плоскости. И мы подбираем это уравнение плоскости таким образом, чтобы все синие точки были по одну сторону прямой, а все красные – по другую.



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



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



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

    Благодаря этому алгоритму удалось добиться очень неплохих результатов, в частности – в распознавании букв. Допустим, у нас есть у нас есть сетка пять на пять ячеек – двадцать пять клеток. Для каждой клетки мы можем посчитать, какой процент клетки заполнен. Получившиеся 25 значений мы подаем на вход одному нейрону. Натренировав нейрон по нашему алгоритму, мы сможем распознать все буквы алфавита.



    Однако так все это работает только до тех пор, пока буквы стоят в сетке ровно. Из-за слишком большого количества вариантов расположения букв, алгоритм уже не справляется распознаванием. Как можно решить эту проблему? Первое, что приходит в голову – попытаться вместо сетки использовать для букв набор каких-нибудь отличительных признаков. Будем смотреть на букву не как на 25 пикселей, а как на набор характеристик, которые не зависят от поворотов. Например, рассмотрим ее как граф, вытащим оттуда вершины первой степени, второй степени, третьей степени, вытащим циклы.



    Нейронная сеть




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



    Досмотрев лекцию до конца, вы узнаете, как именно обучаются нейронные сети, какие у них бывают архитектуры, почему матан – добро, а функан – еще большее добро, что такое клеточные автоматы и как же тренируют роботов.
    Яндекс
    616.18
    Как мы делаем Яндекс
    Share post

    Comments 44

      0
      почему рассказчик мечется туда сюда, как тигр в клетке? это мешает просмотру
        +13
        Тоже обратил не это внимание. Мечется по сцене, запинается в словах… По всей видимости это не профессиональный рассказчик, но человек, который реально разбирается в преподносимой теме. Поэтому он и не умеет себя вести на сцене.
        А вы бы предпочли, чтобы рассказывал профессиональный оратор, но который не знает что говорит, а лишь заучил данный ему текст?
          –4
          я бы предпочел чтоб человек который разбирается в преподносимой теме — как минимум ознакоился с лучшими практиками поведения себя на сцене и преподнесения материала.
            +16
            Я вполне уверен, что он ознакомлен. Но, к сожалению, в человеческом организме нет кнопки, которая бы отключала нервы и мандраж.
              +5
              Я проясню ситуацию. Свет отразился от Венеры и попал на пузырь газа метан… (с) MIB

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

              Я приоритезировал школьников, так как никогда раньше не рассказывал про deep-learnin 10-классникам. В частности первые минут 15 были несколько нервные, так как надо было не показаться унылым г... первой половине и не вогнать вторую половину в глубокое отчаяние всякими страшными словами.

              То что автоматом не получился дистанционный материал уровня Себастьяна Труна, это жалко, да, буду дальше работать над собой.
              А так школьникам понравилось:)
              0
              А я бы сказал что сьемка плохо организованна
              или аудитория не та
          +3
          Очень понравилась лекция!
          Говорит на доступном языке, многие концепции понял, про которые раньше даже не пытался узнать, т.к. думал, что это очень сложно.
          А то, как человек передвигается — не так важно, когда слушаешь такую лекцию, обычно на такие вещи не обращаешь внимания (по крайней мере, на сознательном уровне), заинтересованный слушатель полностью поглощен темой.

            –1
            0:33 — лектор не смог объяснить, что такой свёртка.
              +5
              Спасибо Максиму за лекцию. Понравился тем что подход с юмором. Все понятно и доступно, понять может даже имбицил
                +3
                Спасибо
                  +1
                  Большое спасибо, интересно, просто и понятно, удивило что уже есть искусственные глаза, раньше не слышал =)
                  P.S. Видео с танцующими квадрокоптерами ни в лекции не показали, ни в статье не выложили =(
                  0
                  Шикарная лекция! Но, наверное, Яндексу следует избегать терминов типа «загуглить» :)
                    +3
                    корпоративная цензура?
                      0
                      А чего тут такого? Для меня Яндекс — поиск всего бытового, связанного с Россией. Если вы ищите что-то связанное с ИТ, машинным обучением в частности, ясно что большая часть информации будет на английском и гугл тут в помощь.
                      –2
                      Нейрон выдает не +1 и -1, а 0 или 1. И еще в модели нет тормозящих синапсов.
                        +1
                        Я думаю, что многим просто лениво Вам написать ответ, но я отвечу кратко.
                        Во-первых, какой нейрон Вы имеете ввиду? Если модельный, то они могут выдавать все что угодно, в зависимости от своей модели (как 0 и 1, так и -1 и 1, а еще вещественное число распределенное по самым различным законам распределения на интервалах (-1;1) или (0;1) или еще миллион других вещей). Если же биологический, то в отношении него можно говорить о выдаче 0 или 1 в аксоне только в переносном смысле.

                        Во-вторых, как в модели, так и в реальном мозге, конечно есть и активирующие, и ингибирующие связи.
                          0
                          Точнее, я имел в виду, что нейрон либо активен, либо нет. Если он активен – он распознал свой образ с учетом возбуждающих и тормозящих синапсов. А как нейрон может выдавать два значения – разбивать множество точек на плоскости на две половины? Понятно, если бы это были два нейрона. Один активировался бы на первую половину точек, а второй – на вторую. А один нейрон не может выдавать два противоположных значения.
                            0
                            Разве предложенные вами 0 и 1 — не два взаимоисключающих (противоположных) значения? Так же ответ 0/1 можно интерпретировать как положение входной точки по разные стороны прямой.
                              0
                              0 – это не сигнал, а его отсутствие. А отсутствие сигнала мы не можем интерпретировать в качестве нормального отрицательного значения. Положительная активность это не совсем 1, а количество импульсов в секунду. То есть в случае положительного значения мы не просто видим положение с одной стороны от прямой, а удаленность точки от этой прямой. Если нейрон распознает событие, он выдает количество импульсов, показывающее вероятность. А 0 это просто 0.
                                0
                                Речь в лекции была о «Перцептроне», в данном конкретном контексте этот нейрон выдает именно -1/1 или 0/1 и ни о какой последовательности импульсов речи не идет. Кроме того его сигналы интерпретируются как два взаимоисключающих сигнала. Грубо говоря сработал порог активации или нет, если сработал — опасно бежать, если нет — безопасно стоим на месте.

                                А 0/1 в технике — это абсолютно то-же самое что и -0.5/+0,5 отличаются эти две вещи разделительной емкостью. :)
                                  0
                                  Трактовать выходное значение мы, конечно, можем как нам удобно. Понятно, что можно смотреть на выход с нейрона как на булево значение. Если нейрон активен – это он выдал одно значение, а если неактивен – то другое. Но используя модель нейрона для классификации множества на две группы мы, на мой взгляд, неправильно истолковываем его предназначение. Смысл нейрона не в том, чтобы разделить множество на два, а в том, чтобы выделить одно из подмножеств.
                                  В качестве примера давайте посмотрим на клетки, распознающие зрительную информацию. Есть отдельно ON и OFF клетки. Первые «видят» светлую точку на темном фоне, а вторые – темную точку на светлом фоне. Зачем, казалось бы, вводить вторые клетки? А затем, что у нейрона не два значения, а одно. И он показывает, есть это значение в наличии или оно отсутствует.
                                  Другими словами, смысл активации нейрона – показать, что он распознал то событие, для которого он существует. Только на это событие настроены его синапсы, и только этого события ждут от него (с его аксона) другие нейроны. Нейрон выделяет только один класс событий из множества. Если же мы хотим разбить анализируемое множество событий на два подкласса, нам потребуются два нейрона (например, увидеть точки слева и справа от прямой). Если хотим классифицировать множество на 7 подклассов – нужны будут 7 нейронов, и т.д.
                                  Используя выключенное значение нейрона, мы экономим второй нейрон. Но, не реализовав всю систему, и не разобравшись, как все работает, это похоже на преждевременную оптимизацию.
                                    0
                                    Это связанно лишь с передачей сигнала между нейронами в головном мозге (читай синапсе). А точнее с таким веществом как медиатор (нейротрансмиттер а английской нотации). К сожалению сигнал «0» не имеет возможности распространяться в биологической нейросети. Технические (Перцептроны) нейроны — лишены этого недоставка, по этому мы можем передавать сигнал «0» и использовать его по своему усмотрению.

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

                              image

                              Таким образом взвешенная сумма по признакам формирует разделяющую гиперплоскость. Собственно именно об этом и говорит лектор. Если Вы имеете ввиду, что нейрон не может одновременно давать сразу два значения, то в общем случае Вы правы, хотя есть модели и многомерных нейронов, но они практически не применяются.
                                0
                                А как нейрон выдаст значение -1, если у него возможность только выдавать импульсы?
                                  +2
                                  Я Вам изначально задавал вопрос — про какой нейрон Вы говорите? Про модельный или биологический? В лекции идет разговор исключительно про искусственные нейроны сети и там нейроны могут выдавать все что угодно.
                                    –3
                                    Я говорю про модель биологического нейрона. А разве автор не имел в виду модель биологического нейрона, говоря «одиночный искусственный нейрон», «все мы состоим из сети нейронов» и показывая жестами на свою голову? Хочу еще раз выразить свою точку зрения — на рисунке не модель биологического нейрона, а модель некоего «сумматора по весам», который работает по другому алгоритму.
                                      0
                                      данная модель называемая «Перцептрон» основана на поведении одного единственно биологического нейрона (вынутого из сети, если хотите). При его исследовании было обнаружено, что если на дендриты воздействовать медиаторами, то он будет себя вести именно так как описано в лекции (активироваться либо не активироваться выдавая ОДИНОЧНЫЙ импульс в аксон).
                                      Естественно модель не может отражать всех аспектов и нюансов биологического объекта.
                                        0
                                        Что-то Вы совсем запутались. Перцептрон – это не единичный нейрон, это нейросеть. А мы здесь разговариваем про единичный нейрон.
                                          0
                                          давайте договоримся о терминах (с тех пор как я читал книги видимо что-то изменилось) я имею ввиду искусственный нейрон который имеет N взвешенных входов и функцию суммирование с порогом (либо сигмоида) и имеющим один выход.
                                            0
                                            Насчет взвешенных входов, функции суммирования и одного выхода – да, согласен.

                                            Два уточняющих вопроса:
                                            1) Какой тип значения коэффициента на входах (моделирование синапсов)?
                                            Синапс может быть возбуждающий или тормозной. Возбуждающие синапсы в модели представлены положительными коэффициентами. А вот тормозные синапсы это совсем не то же, что отрицательные коэффициенты.
                                            2) Какой тип значения на выходе нейрона?
                                            Биологический нейрон может выдавать до 1000 импульсов в секунду (точно не знаю) при максимальной активности и ни одного импульса, когда не активен.
                                            Какой тип значения будет в модели? Можем ли мы принимать молчание нейрона за отрицательный сигнал? Ведь суть молчания нейрона не в том, что он распознал противоположное по смыслу событие, а в том, что он ничего не распознал.

                                              0
                                              коэффициенты -inf / +inf
                                              соответственно область коэффициентов -inf… 0 синапс тормозящий
                                              0… +inf синапс возбуждающий

                                              Пороговая функция: выходное значение модели -1/1 либо 0/1 кому как нравится (более подходит в данном конкретном применении).
                                              Сигмоида: любое значение в пределе [-1..1] ( [0..1])

                                              Вы презентацию-то смотрели? Там довольно подробно объясняется как это работает.
                            0
                            Классическая же модель. Тормозящие сигналы представлены входом с отрицательным весом Ci
                              0
                              Если будут просто отрицательные веса, это будет модель не нейрона, а чего-то другого. Например, машины, которая после нажатия на педаль тормоза сначала останавливается, а затем едет назад.
                              В случае же нейрона тормозящие сигналы должны не выдавать отрицательные значения, а тормозить активность нейрона. То есть если мы получили значение < 0, результат должен быть равен 0.
                                +3
                                Знаете анекдот:
                                Математику поставили задачу: «вскипятить чайник». Он нашёл решение — налить воду, зажечь огонь, поставить чайник на огонь и подогреть до 1000С. А теперь новая задача: «вскипятить наполненный водой чайник?» Математик: выльем воду из чайника, чем сведем задачу к предыдущей.


                                Точно также здесь математики сводят модель к той, с которой удобно работать.
                                Не хочется отдельный «тормозной» вход? А давайте сделаем отрицательные веса и если получится мало, пороговый элемент обрежет выходное значение до 0, ниже не даст спуститься.

                                Удобный, хорошо дифференцируемый сигмоид, принимает значения от -1 до 1? ОК, сделаем вход, который всегда даёт сдвиг входящего сигнала -1 до сигнала 0, а веса умножим на ½, чтобы значения -1/1 превратить в 0/1 или наоборот, как удобнее.

                                Биологический нейрон посылает импульсы, а нам удобнее чтобы на электрической схеме было статичное значение? Не вопрос, договоримся, что выход N импульсов в секунду в изменённой модели кодируется статичным значанием N на выходе.

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

                                Всё равно, что внутри считать в двоичном виде, а человеку показывать результат в десятичной системе.
                                  +1
                                  Это не анекдот, в оригинале это рассказ Владимира Михановского «Последнее испытание»,1966 год. Прошу прощения за то, что приведу его полностью.
                                  Авторитетная комиссия принимала у киберкомпании «Уэстерн» только что завершенный УЭМ — Универсальный Электронный Мозг…

                                  «УЭМ — последняя вершина технической мысли», — кричали газеты, отхватившие за рекламу солидный куш. «УЭМ решает не более чем за минуту любую логическую задачу», — вещали броские заголовки. А одна влиятельная газета через всю первую полосу напечатала огромными литерами: «УЭМ — ЧУДО из чудес!» «УЭМ может вое, — говорилось в статье. — Варить сталь, воспитывать ребенка и прокладывать курс космического корабля. Спешите приобрести надежного электронного друга», — заключала газета…

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

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

                                  — Больше вопросов к объекту нет? — спросил наконец председатель. — В таком случае разрешите считать, что…

                                  — Одну минуту, — перебил его старичок, встрепенувшись. — Простите… У меня есть еще один тест для УЭМа. Так, пустячок.

                                  Директор «Уэстерна», сидевший рядом с председателем, поморщился. У могущественной Компании были давние счеты с этим въедливым старичком, и теперь директор не без оснований ожидал со стороны противника какой-нибудь каверзы.

                                  — Пожалуйста, — нахмурясь, разрешил председатель.

                                  — Благодарю вас, — церемонно поклонился старичок. — Моя задача предельно проста. Она формулируется так: на кухонном столе стоит пустой чайник. Имеются также плита, дрова и спички. Вопрос: как построить логическую схему, по которой можно вскипятить воду?

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

                                  После вопроса старичка внутри бастиона что-то презрительно загудело, замигали разноцветные лампочки, затем бесстрастный голос, идущий из недр сооружения, четко ответил:

                                  — Алгоритм решения задачи таков: снять чайник со стола, залить его водой, поставить на плиту. Затем положить в плиту дрова и разжечь их с помощью данных спичек…

                                  — Великолепно! — восхитились члены комиссии, бросая победные взгляды на старичка.

                                  — Тогда позвольте еще вопрос, — кротко произнес старичок. — Видоизменим условие. Чайник уже налит водой и стоит на плите. В плите лежат дрова. Есть и спички. Задача та же — вскипятить воду.

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

                                  — Чайник снять с плиты, вылить из него воду и поставить на стол. Затем вынуть дрова из плиты, а использованные спички вложить обратно в коробок. Тем самым мы упростим данную задачу, сведя ее к предыдущей, решение которой уже известно: снять чайник со стола, залить его водой, поставить на плиту…

                                  Бастион умолк.

                                  — Больше вопросов к УЭМу не имею, — еще более кротко произнес старичок и обвел растерянные лица членов комиссии взглядом, в котором светилось торжество.

                                  Рассказ дошел до Вас в виде анекдота. Немного измененный, лишенный первоначального смысла, но сохранивший мысль, которая так понравилась автору анекдота – прикол с чайником.
                                  И мы это делаем с алгоритмом Природы, когда, не понимая суть оригинальной работы нейрона — почему он работает именно так а не как в модели, вносим в него «удобные» изменения.
                                  Разработчики «Универсального Электронного Мозга» из рассказа тоже, наверное, добавили в нейрон отрицательные значения.
                                    +2
                                    Это все философия.
                                    А по сути «отрицательные входы» напрямую есть в мозге — нейромедиаторы, которые гиперполяризуют мембрану постсинаптического нейрона при взаимодействии с рецепторами постсинапса. В состоянии покоя потенциал на мембране отрицательный — примерно -65мВ (для разных нейронов по разному). При деполяризации до некоторого порогового потенциала (примерно -45мВ)тначинается лавинообразная активация потенциал-зависимых натриевых каналов, которые пртводят к дальнейшей деполяризации и соответственно генерации спайка на уровне примерно 30 мВ. Все что я описал — очень примерно и бывает несколько по разному для разных типов нейронов и разных состояний. Все это Вы можете прочитать в любом учебнике по нейрофизиологии.

                                    Также призываю Вас отличать технические задачи обработки данных и нейробиологию. Это две разных, хоть и в определенной степени связанных области.
                                      –2
                                      Вычислительные алгоритмы, имеющие префикс «нейро», как бы обязаны соблюдать правила природного нейрона, особенно когда в пояснении говорят о живых нейронах.
                                      То есть Вы считаете корректным моделирование тормозящих сигналов входами с отрицательным весом?
                                        +3
                                        Никто по сути не обязан кому-либо. Даже в вычислительной и теоретической нейробиологии есть различные уровни абстракции — можно моделировать только потенциал нейрона (например LIF-нейроны), можно моделировать с точностью до нескольких ионных каналов (например нейроны типа оригинального Ходжкина-Хаксли), а можно еще детально моделировать процессы, протекающие в синаптической щели, или учитывать десятки типов ионных каналов. У каждого уровня абстракции есть свои цели. И конечно «отрицательный вес» есть в рамках реальных синапсов — en.wikipedia.org/wiki/Inhibitory_postsynaptic_potential. И отдельно указываю, что это конечно не отрицательный выход пресинаптического нейрона, а именно понижающий вклад спайка на пресинаптическом нейроне в мембранный потенциал постсинаптического.

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

                                        И в целом это абсолютно неконкретный и пространный разговор, который не имеет особого смысла в контексте рассматриваемой лекции.
                                      0
                                      Критикуя такой подход, вы отрицаете абстракцию. А давайте вообще программировать без библиотек. Ведь реализуя алгоритм заново каждый раз, мы его точно под задачу реализуем, без лишнего груза, который приспосабливает библиотеку к разным условиям (выливает воду, так сказать). Зачем сводить задачу к известной и применять наработанные приёмы, если можно всё с нуля каждый раз делать.
                                +1
                                Вроде бы можно и так и так, представление с +1 и -1 было выбрано, так как связь этого концепта с положительными и отрицательными точками на картинке порождает меньше вопросов.

                                Сказки и подсказки ;) (Есть такая книжка с задачками по математики для школы)
                                0
                                Очень низкое качество доклада. Докладчик акает, чешет голову, путает и объясняет очень сложно. Смешивает два языка.

                                Уровень лекция яндекса разочаровывает

                                Only users with full accounts can post comments. Log in, please.