Массовую роботизацию останавливают сейчас только недостаточно мощные мозги роботов. Более-менее качественные конечности уже разработаны, в качестве источника энергии на худой конец сгодятся и обыкновенные автомобильные аккумуляторы. Проблема только в том, чтобы сделать роботов достаточно смышлёными для того, чтобы их труд окупался.
За последние пару лет однако мы некоторой тревогой могли наблюдать настоящий прорыв в области искусственного интеллекта. Роботы становятся с каждым месяцем всё умнее, переходя от уровня кошки примерно к уровню обезьяны. Скоро уже, пожалуй, можно будет ожидать появления двуногих роботов-строителей, способных штукатурить, красить и штробить и, вообще, выполнять под надзором прораба отделочные работы.
Вот несколько свежих новостей на эту тему:
1. На видео к статье робота учат ходить подобно человеку, переваливаясь с ноги на ногу. Этот алгоритм пригодится и для тренировки реальных роботов, и для более реалистичной анимации персонажей в компьютерных играх:
https://nplus1.ru/news/2017/08/01/trial-and-error
2. Facebook выпустила огромный набор данных по партиям в "Старкрафт", на его основе можно обучать роботов этой игре. Особенно интересно будет посмотреть на уровень игры робота, которому поставят искусственные задержки, чтобы эмулировать медленную человеческую реакцию. Если такой робот сможет обыгрывать лучших игроков, это будет впечатляюще:
https://nplus1.ru/news/2017/08/08/stardata
3. Другая новость о Facebook, про роботов, которые изобрели собственный язык, весьма желтушна, хоть и обсуждаема. Любому программисту ясно, что речь идёт не о новом языке роботов, а о банальном техническом сбое:
http://telegra.ph/Facebook-vs-AI-08-01
4. Нейросети всё шире и шире входят в нашу жизнь, их вот-вот начнут встраивать во все программы подряд. Исследовательница Жанель Шейн, например, использует нейросети для всего подряд, вплоть до выдумывания названий для крафтового пива:
https://nplus1.ru/news/2017/08/04/friday-science
Это, кстати, отличная идея для стартапа: качественный онлайн-генератор названий и никнеймов будет пользоваться спросом.
5. И, напоследок, приложение, которое ставится на смартфон, и которое умеет определять по фотографии вид гриба. Вот тут автор (из Челябинска) рассказывает про этот проект:
https://pikabu.ru/story/chelyabinskie_shkolniki_napisali_prilozhenie_kotoroe_raspoznaet_rasteniya_po_fotografii_5234063
Пока что нейросеть не особо глубокая, однако если довести её до ума, неопытные грибники будут в восторге.
Это были новости за последнюю неделю-полторы. Роботов, как видите, пытаются сделать умными с разных сторон, и результаты, что важно, мы уже видим. Пожалуй, появление в магазинах робота-разнорабочего уже не за горами.
Комментарии
> в качестве источника энергии на худой конец сгодятся и обыкновенные автомобильные аккумуляторы
Электричество из розетки еще может помочь.
И нет никакого "ИИ". Есть тупые пошаговые алгоритмы описанные программистами.
Алгоритмы невероятно поумнели за последние пару лет.
неплохо бы сначала дать определение ума, а то любому программисту ясно, что речь идёт не о нём
Проблема не только в алгоритмах но и в размерах. Для того чтоб выйти на мощности человеческого мозга требуются суперкомпьютеры. По самым нескромным оценкам самый современный единичный процессор уступает человеческому мозгу на 3 порядка, а если смотреть правде глаза то и поболе будет. Вот когда научатся добавится такой же эффективности в таких же малых объёмах да ещё и с такой же энэргоэфективностью, тогда можно говорить о тотальной роботизации. А пока что это удел монстров типа Trinity.
Согласитесь, что самообучающийся алгоритмы - это все же далеко не ИИ, хотя возможности их уже вызывают у меня неоднозначные реакции.Одна программа самообучающийся алгоритмов для автономных ударных БПЛА чего стоит, с другой стороны пример применения IBM Watson в терапии и онкологии вдохновляет
СДВГ у роботов тоже будет? :))))))))
И вообще, ЗАЧЕМ вся эта движуха?
Что именно пошагового в нейросетях, и что именно "описывают программисты" при их натравливании на обучающий сет?
Нейросеть - ровно такой же конечный автомат, работающий ровно по тем же алгоритмам, которые описал конкретный человек. И если человек ошибся в алгоритме, так называемый "интеллект" начинает косячить.
"Алгоритм" для нейросети - это уровень реализации. Примерно как программы на функциональном языке исполняются на каких-то процессорах, а сами процессоры - реализованы на микросхемах, отдельных транзисторах или лампах без каких либо изменений в логике работы. Программе на С пофиг, исполняется она с помощью комплиментарных пар кермниевых полевых транзисторов или с помощью многоэмиттерных биполярных арсенид-галлиевых. Не тот уровень абстракции.
Та же самая нейросеть (с той же топологией, так же обучающаяся и работающая) может быть реализована на аналоговом железе без всякого алгоритма, и "конечным автоматом" она является лишь очень условно, ну, если можно таковым считать человека.
Просто сейчас их удобнее и дешевле писать как программы для процессора - такая инфраструктура есть, её и пользуем. Завтра появятся цифровые спецпроцы или аналоговые устройства (сразу на массивах мемристоров) - всё можно будет перенести на них.
Это что касается конечных автоматов и пошаговости. Нет никакой пошаговости в работе нейросети.
...
И у нейросети нет "алгоритма". Есть веса после обучения. Если хочется соотнести нейросеть с чем-то привычным, лучше представлять её способом аппроксимации, гигантской многомерной аппроксимирующей требуемый отклик функцией, чьи коэффициенты настраиваются в процессе обучения на примерах. Веса в аксонах и есть эти коэффициенты.
Но программист не задаёт их. Он на это просто не способен, их слишком много, и влияние каждого на работу сети в целом слишком неочевидно для большинства случаев. Это делается "само" при обучении - "аппроксимации". Человек может ошибиться при задании топологии сети или при её обучении, и тогда она будет плохо учиться и/или косячить. Но это опять же не тот уровень, не уровень программы, описывающей "если то, то вот так, а если тут вот, то этак". Это программирование, но даже близко не алгоритмическое.
И правильное обучение, правильные обучающие примеры тут играют равноправную, а может, и бОльшую роль, чем, собссно, задание топологии сети.
в точку. шахматный софт можно было обыграть, пока правила игры не вложили в "нейромозги".
<зевая>
"Обучение" - такой же алгоритм, по таким же правилам, в рамках конкретной модели. При отклонении от модели будет сбой.
Хватит со всякой шнягой бегать как полоумные.
Компьютер умеет быстро считать. Все. Это и нужно использовать в алгоритмах. А сам алгоритмы он писать не умеет.
нейросеть умеет
нет, не умеет.
ниже, "в", "г"
Вы заявляете, что некая нейросеть на железках, созданная человеком, умеет думать как человек?
ниже, "а"-"г", читайте внимательно - метапрограммирование позволяет выйти за рамки написанного человеком алгоритма, но это не дает никаких оснований для таких громких заявлений.
Обучающие примеры - это, вообще-то, не модель. Это то, на чём при алгоритмическом программировании, модель строится. Программистом. Обучающие примеры - это сырьё, из которого программист вручную, человеческим своим мозгом строит модель, а по ней - алгоритм, аппроксимирующий правильный отклик на входные данные.
Я не понимаю, что тут непонятного.
Разница в том, что в случае нейросети
а) из обучающих примеров модель строится сама, без участия программиста;
б) она запросто может быть и, ессно, обычно бывает точнее, лучше, предусмотрительнее и т.п., чем может сделать программист (или толпа программистов) за любое разумное время. Ну, иначе бы все эти нейросети вообще не имели бы смысла. А они имеют, и применяются;
в) нейросеть в процессе выполнения своей целевой функции может набирать новые обучающие примеры, методом проб и ошибок учиться на них и улучшать модель, выходя далеко за рамки, которые можно было предусмотреть программисту до запуска;
г) в этой парадигме возможно метапрограммирование, когда становится возможным самостоятельная постановка подзадачи в рамках решения какой-то задачи и самостоятельное относительно быстрое обучение решению подзадачи без программиста.
Можно кучу пурги сочинить, чтобы инвесторов развести, но для начала пусть соорудят хотя бы муравьиный "интеллект".
Вы упёрлись в отрицании непонятной вам концепции. Это плохо.
Гугл и Яндекс распознают голос. На куче языков. С потрясающим по сравнению со всеми предыдущими попытками качеством и реально годным на практике. Это задача, над решением которой алгоритмическими методами только для английского языка бились тысячи людей с исключительно говёным результатом в итоге. Сейчас она решена для всех значимых языков гораздо меньшими усилиями нескольких человек за несравнимо малое время с куда более высоким качеством для любого голоса, сходу, как человек. Потому что её решение НЕ программировали классически, а сети продолжают обучаться прямо сейчас на примерах поступающих запросов, и становятся лучше с каждой секундой. Смиритесь с этим.
Муравьиный интеллект никому нафиг не нужен, это - пурга.
Нужны автопилоты для машин, ездящих по дорогам общего пользования, и они есть. Нужны системы распознавания целей, автонаведения, сопровождения и поражения вражеской пехоты и бронетехники, и они есть. Нужны автопилоты для вождения техники по пересеченной местности, и они сейчас создаются (ибо задача реально очень сложная даже для человека).
А муравей - нет, не нужен.
концепция мне вполне ясна, как и то, что никакого "интеллекта" там нет, а есть просто алгоритмы написанные людьми, со всеми дефетками и багами
:) Про "интеллект" я уже писал даже статью, в попытке объяснить - интеллекта нет, есть решение новых задач, к которым ранее не знали как даже подступиться. Интеллекта нет. Решения - есть.
Про "алгоритмы", "с дефектами"... см, выше.
"Винни, мне кажется, мы ходим кругами"(с), "Не более трёх раз"(с)подпись под эстонским знаком "Круговое движение" и "- Папа, что там шумит?.. - Водопад."(c)
Непонятно - так непонятно. Бывает.
Не понимаю тогда с чем вы спорите.
Я не возражаю, что компьютер полезен как арифмометр для обсчета алгоритмов и моделей, заложенных в него людьми. Я не возражаю, что обработать вручную эти массивы данных было бы времязатратно.
В то же время, даже просто муравья комп сэмулировать неспособен. По очень простой причине - у ЛЮДЕЙ нет описанных моделей для муравья,
Нейронная сеть, это не алгоритм это не модель. Это именно тот случай, когда модели нет и алгоритма нет. Нейронная сеть именно алгоритм и выясняет в процессе обучения. Но не как "алгоритм", а как вероятность решения. Но поскольку решения ищется миллионы раз, точность очень высокая.
Пурга. Как минимум алгоритм обучения, заточенный на конкретную предметную область.
Ну не так. Алгоритм обучения может быть стохастическим или генетическим, универсальным и очень простым. Сам алгоритм может запрограммировать первокурсник. После чего обучающую выборку может сформировать человек вообще не знакомый с программированием. (И формирует. Поинтересуйтесь что такое с 2015 года ReCaptcha.)
Вопрос в размере сети и времени (процессорном) на её обучение. Все хитрые и сложные алгоритмы - только ускоряют обучение сети, ничего не добавляя к эффективности уже обученной такого же размера.
*А вот определить что же такое стохастически нашла сеть и как же она вообще выдаёт результат - построить тот самый "алгоритм", найденный сетью - часто невозможно, или, как минимум, является не тривиальной задачей. На анализе особенностей найденных нейросетями - научные работы пишут (медицина).
Где посмотреть на алгоритм обучения муравья? Если уже такие вселенские вещи обсуждаютя, как "интеллект", полагаю, муравей давно решенный вопрос.
Алгоритм обучения муравья - примитивный генетический. Применённый ко всей популяции, ко всему времени жизни популяции и обученных на всём что встречалось популяции. Сам алгоритм - может написать школьник. Применённый к нейросети с количеством нейронов (сколько там нейронов у муравья?) в количестве (сколько там итераций прошло с появления муравьёв как вида?), накормленный входными данными с которыми встречались муравьи за всё это время - с хорошей вероятностью выдаст что-то похожее на современного нам муравья.
Входные данные по каждому из нужных нам параметров обеспечить можно - ReCaptcha-ей например. А вот перемножение кол-ва нейронов на потребное кол-во итераций обучения даёт неприятные цифры. Не невозможные (уже), но дорогие.
Если брать более узкие задачи - всё намного проще, тк можно обойтись меньшим кол-вом нейронов, а зависимость сложности (процессорной) обучения от кол-ва нейронов - нелинейная. И, например, зрение и распознавание объектов - уже решено лучше чем муравьи могут надеяться.
То есть британская разведка просто дурью мается, устраивая в 2017 году конкурс по распознаванию и классификации транспортных средств на спутниковых снимках?
Вы вообще статью читали? Там в первом же абзаце написано - что и зачем это сделано.
Более того - вы считаете что если по какой-то дисциплине проводят конкурс - он проводится потому что хороших решений нет? Олимпийские игры проводятся тоже потому что люди бегать не умеют? Что-то у вас не то с логикой.
Это у вас с логикой проблемы, подтягивать не к месту олимпийские игры. По делу крыть вам нечем, сразу переход на мою личность. До свидания.
Как всё запущено-то. Что, так и не прочитали что идёт отбор лучшего из решений а не поиск решения?
Конечно, читал. Там написано, что соревновались "ребята, которые обладают зашкаливающе высокой квалификацией в машинном обучении".
Они могли бы просто в песочнице померяться первичными половыми признаками, используя компьютер в качестве линейки.
Ладно-ладно, я утрирую. Чем в принципе их соревнование отличается от такого же между учителями, отправляющими своих учеников на конкурсы гитаристов?
А я с 1984 года все жду обещанных Киром Булычевым в "Гостье из будущего"... соревнований роботов-гитаристов, роботов-гитаристов. Не людей, которые меряются способностями их обучить. А роботов, которые научили других роботов побеждать на конкурсе гитаристов.
Прочитать - прочитали. Понять - не поняли.
Вы хоть разобрались о чём говорится в процитированном вами? Он обводил прямоугольничками выборку для обучения, и использовал утилиты со стррашными названиями для ускорения этой рукопашной рутины. А британцы - поленились и отмечали объекты одиночными точками.
А основной алгоритм - вообще просто скопипастил.
Всё соревнование вкратце сводится к: Есть задача, нанять для решения свою команду спецов - дорого, и мы не можем проконтролировать насколько эти спецы компетентны. Поэтому - пускай (иностранные) ребята забесплатно посоревнуются (себе на репутацию) и найдут нам оптимальное решение, которое потом сможет скопировать нанятый на среднерыночную зарплату не-спец.
Из этого никак не следует что задача имеет какие-то принципиальные сложности в решении или не решалась до этого.
Более того:
А хотелки про роботов-гитаристов роботов-гитаристов - да хоть сейчас, давайте деньги, организовывайте конкурс или заинтересовывайте как-то ещё. Будет и сочинённая музыка и исполнение. Сделать ещё одну надстройку которая бы такое построила уже сама - тоже принципиальной сложности не составляет, но больше работы = дороже.
По вашему выходит, что не разобрался - но вы же спорите сами с собой, выдумав мою позицию за меня. Напомню, что наш диалог начался с моего возражения на ваше
Не понимаю, как это у вас укладывается в голове вместе с прямыми цитатами из статьи
И эти "0.87, но никак не 0.98-0.99" уже лучше чем может человек. Там так и написано, и даже пример есть. И уж подавно лучше чем может муравей.
Я нашел там пример, но он вам не понравится. Попробую пояснить.
Классическая логика и закон исключенного третьего требуют: нельзя одновременно утверждать о распознавании образов "робот сегодня лучше, чем может человек" и "робот сегодня хуже, чем может человек". В примере распознавания образов "робот сегодня хуже, чем может человек" (хотите об этом поговорить или избавите меня от своей демагогии?)
Тогда, согласно классической логике, ваше утверждение
- ложь. Укажите мне, пожалуйста, на ошибку в моих рассуждениях. Напоминаю: без демагогии, пожалуйста, только с учебником Челпанова в руках.
О, вы наконец-то прочитали статью.
Но тут же облажались снова. Вот ваша примитивная манипуляция, изучайте на вики:
Что вы в запале пропустили: да, есть отдельные ситуации в которых человек лучше сети. Но в большинстве ситуаций - человек хуже сети. Итого, на всей выборке, по словам автора:
Будете спорить с автором статьи? Не понимая ничего из написанного?
Снова на личности. Клоун, пшел вон.
Сколько патетики на пустом месте. Манипуляция не прокатила, а по сути сказать нечего? Так бы и написал.
Где можно полюбоваться на нейросети, способные воспроизвести "примитивные" генетические алгоритмы обучения?
Ещё раз. Воспроизвести примитивный генетический алгоритм обучения может школьник на коленке. Сложности в нём никакой, это случайный перебор с сохранением и модификацией хороших вариантов.
Непосредственно к нейросетям генетические алгоритмы не привязаны. Это всего лишь один из способов их обучения (подбора коэффициентов на нейронах).
Вот тут - полноценный генетический алгоритм, решающий уравнения (тот же самый подбор значений) укладывается в пол странички кода.
https://habrahabr.ru/post/128704/
*И вот этот конкретный алгоритм может использоваться для обучения нейросети, подставляя вместо значения уравнения - искомое, и вместо переменных - веса на нейронах.
> случайный перебор с сохранением и модификацией хороших вариантов.
Сдается мне, про случайность это скорее ваша вера, чем установленный факт.
Как с реальной эволюцией - можно спорить. Но в электронном виде - оно работает, и позволяет находить решения уравнений (и более сложных задач) которые абсолютно непонятно как решать аналитически.
*И решать принципиально быстрее чем неуправляемым перебором.
Эволюция работает в РЕАЛЬНОМ мире, и это доказано миллиардами лет существования планеты и жизни.
А компы работают только в рамках моделей, заложенных в них программистами. Пока они адекватны - и результат адекватен, когда неадекватны - неадекватен и результат.
Сам термин "ИИ" некорректен, это просто надстройка хорошей вычислительной мощности над моделью, которую создал интеллект программиста.
До полноценного (сильного) ИИ сейчас как до Луны. Поэтому программисты придумали себе новый термин - "слабый ИИ" (решатель) и ковыряют это направление. "Слабый ИИ" - принципиально другое чем полноценный. Но журналисты не видят разницы, а рекламщики этим пользуются.
Похоже у вас всё ещё некорректное понимание.
Я не имею ни малейшего понятия как решать уравнения с десятком переменных. Но могу не напрягаясь написать генетический алгоритм который решение найдёт.
Чем отличаются генетические (эволюционные, обучаемые) алгоритмы и нейросети от всего что было раньше?
Такой подход позволяет подменить понимание конкретной решаемой проблемы на общее понимание принципов эволюции и нейросетей. Что нагло подсмотрено у природы. Природа тоже не "понимает" решаемую проблему и не может построить её мат. модель.
Методы матмоделирования для решения уравнений при помощи компов с заданной точностью описаны чуть ли не раньше, чем появились сами компы (если память не изменяет, первые компы и стали создавать, чтобы делать такой обсчет для военных задач).
Как раз пример вычислительной надстройки над интеллектом человека.
Это не то. Там используется конкретный матаппарат, и при выходе задачи за его пределы - придётся переписывать всю программу, если вообще существует матаппарат под новую задачу. Более того такой подход может применяться только к уже формализованным задачам. Те известно кол-во переменных, кол-во уравнений итп.
И вот такой подход - да, только и исключительно надстройка над уже разработанным матаппаратом.
Но всё что вы говорите относится только к решению уже формализованных задач различными мат методами. Нейросети и генетика не используют стороннюю математику. Это совершенно другой подход. Он сильно вычислительно дороже на этапе обучения (если сравнивать с задачами которые оптимально решаются существующим мат методами) но позволяет решать задачи не зная ни матаппарата ни точной формулировки задачи.
То есть дайте нам денег, а когда-нибудь мы ого-го.
Глупость. Нейросети уже ого-го. Распознавание речи, распознавание изображений, сохранение равновесия и моторика движения, поиск смысловых акцентов в тексте... Во всех из этих областей нейросети уже обогнали аналитические решения. Тк аналитическое решение в общем виде получается слишком сложным чтобы быть формализованным человеком (с вменяемыми трудозатратами).
Попробую объяснить наглядно что такое нейросеть и зачем она:
Представьте что есть задача, например - отличить кошку от собаки или БТР от грузовика.
Аналитическое её решение разваливается на анализ огромного и сложно формулируемого списка признаков. Что в итоге даёт систему в несколько/несколько десятков/несколько сотен уравнений. Каких-то. С неизвестными комбинациями переменных. Придумать и записать их человеку - малореально или крайне долго.
Поэтому нейросеть перебирает все возможные уравнения первого-второго-третьего... порядка (однослойная-двухслойная-трёхслойная...) пытаясь найти что-то ближе сводящее входные данные и результат. Пробует это множество раз (итераций) и вот здесь уже вступает в дело алгоритм обучения (можно генетический), который постепенно, используя случайные или не случайные правки и отбирая лучшее - подводит полученное ближе к решению. В итоге - получается нейросеть с "отожженными" путями, наиболее ей понравившимися. Которые по отдельности представляют из себя искомые уравнения, или похожи на них, а вместе - дают решение. Решение о котором мы не имели вообще никакого понятия когда запускали алгоритм.
Аппроксимация (о чём вы говорили в прошлом посте) и генетические алгоритмы - это поиск решения уравнения. Нейросеть - это поиск самих уравнений, который переложили на компьютер.
Называть интеллектом задачки по распознаванию изображений - глупо. Это умеет делать ворона, причем полагаю гораздо лучше. Пусть переводчик хотя бы сделают адекватный.
Страницы