Русский
Русский
English
Статистика
Реклама

Ии

Its a match финские ученые создают идеально привлекательные лица, учитывая личные предпочтения мозга

11.03.2021 12:11:09 | Автор: admin

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

Итак, существует ли идеальная пара? На основе данных ЭЭГ ученые научили генеративно-состязательные нейронные сети (GAN) предсказывать и воссоздавать лица, которые потенциально будут казаться нам привлекательными. Только представьте, итоговая точность предсказаний составила >80%. Интересно, что будет, если сеть сможет в перспективе влиять на подборку пары в Tinder и подобных приложениях? Но разберемся во всем по порядку.

Предыстория



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

Однако раньше всех этих данных было недостаточно, чтобы создать искусственно человека или пару со 100% совпадением. Существенного прогресса в изучении личных предпочтений удалось добиться финским ученым. И помог им в этом проведенный эксперимент.

Как проходил эксперимент



В проведенном исследовании приняли участие 30 сотрудников и студентов из Хельсинского университета. Для обучения GAN они использовали 30 тыс. фотографий знаменитостей. Так сеть научили создавать синтетические портреты. Всего их смоделировали 240.

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

С помощью электроэнцефалографии (ЭЭГ) ученые зафиксировали реакцию мозга на искусственные портреты. Добровольцам показывали изображения и следили за реакцией в реальном времени, фиксируя все наблюдения. Достоинство ЭЭГ в предоставлении данных об обратной реакции на триггеры: ощущения, события, когнитивное или моторное событие.

Что потом?


Благодаря интерфейсу мозг-компьютер данные передали GAN. И так удалось обучить сеть создавать привлекательные лица для конкретных добровольцев. Однако, до какой степени они будут привлекательными им предстояло еще проверить.

Спустя 2 месяца, ученые вновь собрали участников. Они поместили в подборки изображений как новые привлекательные, так и другие нейтральные и/или непривлекательные. Добровольцы получили матрицу из 24 картинок. Оценка привлекательности проводили по шкале от 1 до 5. Нажатием клавиш участники проставили оценки изображениям.

В итоге выяснилось, что 86,7% изображений, созданных GAN, участники эксперимента выделили как привлекательные. Что интересно еще 20% изображений, которые потенциально создавались как непривлекательные, оказались все же симпатичными для добровольцев. То есть результат работы сети был ложноотрицательный.

Идеальная пара



Из доводов в пользу того, что система работает большая часть именно привлекательно созданных изображений получили оценку больше 1 балла по сравнению с созданными, как нейтральные. Ученые сделали итоговый вывод, что GAN действительно научилась отделять реакции мозга на привлекательные и непривлекательные, причем делает она это с точностью в 83,3%.

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

Shazam vs ЭЭГ?


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

Музыка обладает различными характеристиками: ритм, тембр, мелодия, гармония. Кроме того, песни представляют собой определенную последовательность повторяющихся данных. Все эти музыкальные особенности воспринимаются определенным образом нашим мозгом. При получении стимула наши органы чувств реагируют по-своему.

Исследователи из Индии и Нидерландов смогли научиться воссоздавать из активности мозга, фиксируемой ЭЭГ, конкретные песни. Точность определения мелодии составила 85%.

Обучение сети проводили на 20 добровольцах, которые слушали 12 мелодий. Когда сеть работала на данных одного конкретного испытуемого, точность идентификации мелодии составила почти 85%. Когда процесс распознавания запустили без привязки к личности, то точность снизилась почти на 77%.

Подробнее..

Мозг, смысл и конец света

09.04.2021 16:11:40 | Автор: admin

Напомню предысторию. Меня зовут Алексей Редозубов и я занимаюсь созданием сильного искусственного интеллекта. Мой подход крутится вокруг контекстно-смысловой модели работы мозга. Об этом был цикл статей на хабре и много видео на Youtube. Сейчас я хочу рассказать об основах контекстно-смысловой модели и о недавних исследованиях, которые позволили взглянуть на эту модель с новой, неожиданной стороны. Исследованиях невероятных настолько, что уверен многие сочтут их безумием.

Есть два интересных и важных термина искусственный интеллект (ИИ) и сильный искусственный интеллект (СИИ). В английской традиции Artificial intelligence (AI) и Artificial general intelligence (AGI). Первый подразумевает любую деятельность компьютера, имитирующую человеческий интеллект, второй только такую, которая претендует на что-то универсально общее, похожее на то, как мыслит человек.

Точного определения СИИ нет. Лучшее, что есть это знаменитый Тест Тьюринга.

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

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

Отметим очень тонкий и при этом очень важный момент. Простой ИИ может во много раз превзойти человека в какой-то области. Например, сильнее играть в шахматы, обыгрывать в Го или Starcraft. Но от этого он не становится сильным.

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

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

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

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

Тут надо пояснить. Еще Сократ обнаружил удивительную вещь. Люди знают язык, понимают его слова, тонко чувствуют, когда какое слово уместно употребить, но редко когда могут объяснить свое знание. То есть наш мозг знает много больше, чем мы можем объяснить. Сейчас такие знания принято называть имплицитными.

Интересно, что когда человек пытается объяснить то, что знает его мозг, он не может получить непосредственный доступ к этим своим знаниям. Например, он не может их просто вспомнить. Знания есть, но они недоступны. Доступен только результат использования этих знаний.

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

Так вот, мы будем говорить о смысле в том понимании, какое стоит за этим словом, когда мы используем его в речи, не пытаясь дать ему четкого определения. Дело в том, что наивное определение, которое дается, пока явление еще не понято, будет обязательно построено на неких видимых признаках и в итоге опишет нам совсем другое. Платона попросили дать определение человека. Он сказал: двуногое без перьев. Диоген принес ощипанного петуха и сказал: вот человек.

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

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

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

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

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

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

И вот мы подходим к самому интересному. Хорошо, внутри у нас есть набор понятий. За каждым понятием стоит некое содержание. Но как мозг это содержание описывает? Что это за содержание? Каков его механизм? Собственно, это и есть те самые главные вопросы, от ответа на которые все зависит. Ведь, по сути, мы говорим о том, что за каждым понятием стоит некий смысл. И этот смысл и определяет содержание понятия. То есть, когда мы говорим, что мозг умеет, наблюдая за миром, формировать понятия, мы говорим о том, что мозг умеет формировать описания смыслов.

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

Чтобы сформировать набор понятий, описывающих мир, надо поделить этот мир на области, которые можно назвать, например, классами, кластерами или как-либо еще в зависимости от вкуса. Чтобы было проще, стоит, посмотрев на число слов в языке, ограничить себя, например, набором из десятка тысяч понятий. Каждое из понятий должно объединять похожие друг на друга явления. Но из-за бушующего многообразия явлений (в море каждая волна уникальна) эти классы нельзя задать простым перечислением. Надо придумать что-то более универсальное.

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

Чтобы описать портреты явлений, нам понадобятся признаки. На роль признаков подходят другие более мелкие явления. Удава можно измерить в попугаях. Признаки, конечно, сами потребуют описаний, но тут мы выкрутимся, сделав многоуровневую конструкцию и пойдем от простого к более сложному.

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

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

Конечно, если подходить серьезнее, то имея учителя, который скажет, какое явление к какому понятию относится, мы сможем не только рассчитать центр класса и назвать его прототипом, но и вычислить характер распределения. Это может сильно помочь на практике. Средний вес килограммовой гири один килограмм. Средний вес курицы 3 килограмма. Нечто весом кило сто, исходя из распределений, скорее будет курицей, чем гирей. Хотите знать подробнее, смотрите методы классификации и кластеризации, расстояние Махаланобиса.

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

Сухой остаток: понятия можно задать через перечисление их признаков, тем самым разбив мир на области. Затем можно совершенствовать описания, уточняя прототипы и границы вокруг них. Разделяй и властвуй.

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

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

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

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

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

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

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

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

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

Уловили идею? Вы видите комнату и в ней разбитую вазу. Сначала это просто разбитая ваза. Но если посмотреть на это в предположении, что в комнате есть кот, то появляется картина кот задел вазу и она, упав, разбилась, вот она, улыбка. Эта картина оказывается вполне правдоподобной. В этот момент вслед за своей улыбкой появляется и он сам. То есть вы узнали кота, вообще не видя ни его, на каких-либо его непосредственных признаков.

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

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

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

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

Но как в случае контекстов оценить достоверность трактовки? Очень просто трактовка должна выглядеть, как что-то нам ранее знакомое. Это значит, что надо иметь память того, что мы знаем, и сравнивать трактовку с памятью. Увидели что-то знакомое, значит, контекст подходит. Причем во всех контекстах память должна быть одна и та же.

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

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

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

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

  • имя понятия. Слово языка или внутреннее кодирование имени понятия.

  • правила трактовки. Правила преобразования, индивидуальные для каждого контекста.

  • память. Накопленный ранее опыт, один и тот же для всех контекстов.

И работает эта триада не по отдельности, для каждого понятия, а только в пространстве всех понятий, где происходит сравнение результатов между собой.

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

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

Шифровальная машина Энигма

Примерно в декабре 1932 года Мариан Реевский, польский математик и криптоаналитик, смог разработать алгоритмы, позволяющие потенциально взломать код Энигмы. В это же время французской разведке удалось получить ключи, реально используемые немцами, и передать полякам. Анализируя перехваченные сообщения, Реевскому удалось восстановить внутреннюю схему Энигмы. Для расшифровки немецких сообщений поляки построили шесть машин, бомб, которые позволяли за разумное время перебрать 100 000 возможных кодов и найти среди них верный.

В 1938 году немцы усложнили конструкцию Энигмы, в результате чего расшифровка ее сообщений стала в десять раз сложнее. За пять недель до вторжения Германии в Польшу в 1939 году Реевский и его коллеги передали свои результаты французской и британской разведке. Это позволило англичанам построить в Блетчли-парк батарею из бомб, которая успешно взламывала немецкие коды на протяжении всей войны.

Определенную роль в этом сыграл тот самый Алан Тьюринг, что придумал приведенный в начале тест.

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

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

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

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

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

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

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

Все, что было сказано, было странно, но не безумно. А где же обещанное безумие? Начнем.

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

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

И выяснилось, что действительно, ничто не ново под луной. И шумерские мифы, и египетская книга мертвых, и аккадский Гильгамеш, и греческие легенды, и буддийское учение, и Ветхий, и Новый Завет, и Талмуд, и Коран, и Сказки тысяча и одной ночи, и много что еще оказались аллегорически зашифрованными рассказами о философии смысла. А еще обнаружилось, что причины шифрования философии смысла в священные тексты и превращение этих текстов в религии было не забавной шуткой авторов и не капризом истории, а страшной драматической необходимостью.

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

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

Алексей Редозубов

Подробнее..

Комментарий переводчика, или никто никого не обучает

24.04.2021 20:04:45 | Автор: admin

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

В таком виде мы книгу не продадим.

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

Идиоматика ИИ

  • Термин machine learning

Усвоение (learning) - это процесс приобретения новых знаний, смыслов и поведения. Способностью усваивать знания обладают люди, животные и некоторые машины. Достижения в области machine learning не в малой степени опираются на многолетние исследования в области теорий усвоения знаний (learning theories), предметом изучения которых является процесс формирования и усвоения знаний животными (animal learning) и человеком (human learning).

Искусственные нейронные сети и целое направление под названием reinforcement learning - яркие тому примеры. Уоррен МакКаллок и Уолтер Питтс создавали свой персептрон по принципу сети нервных клеток организма, а Ричард Саттон строил свой алгоритм reinforcement learning, моделируя усвоение знаний путем проб и ошибок, заимствовав идею подкрепления из бихейвиористской психологии, где оно означает стимул, побуждающий ученика приспосабливать свое поведение в окружающей среде.

Таким образом, практическая подобласть ИИ под названием machine learning, в отличие от теорий усвоения знаний, нацелена на отыскание методов, с помощью которых машины могли бы усваивать знания автоматически без вмешательства человека, что и следует из классического определения данного термина:

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

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

Интересно, что в некоторых европейских языках термин machine learning так и переводится. В испанском языке он звучит как aprendizaje automtico или aprendizaje automatizado, то есть автоматическое или автоматизированное усвоение. И такой подход отражает суть, так как в основе модели лежит алгоритм усвоения (learning algorithm), aka искатель минимумов (или максимумов) для надлежащим образом сформулированной математической функции. Добавив прилагательное machine, получим алгоритм автоматического усвоения, или, в более общем контексте (поменяв algorithm на model) модель автоматического усвоения, а не как в общепринятом ныне варианте. И эту тонкость очень важно понимать, так как она меняет знак смысла на противоположный и правильный, то есть на автоматическое усвоение машиной закономерностей.

Например, нередко можно услышать, что специалисты, дескать, обучают модели. Однако, профессионалы так не говорят, по крайней мере, за рубежом. Они говорят, что они их тренируют (train), так как для них причина очевидна - все тот же алгоритм машинного усвоения, лежащий в их основе. Очень жаль, но у исследователя данных нет никакого ореола демиурга. Никто никого не обучает :-(. Как раз наоборот. Учитывая заложенный в модель математический каркас, совершенно очевидно, что она в силу своей особенности учится сама, обновляя свои параметры, а роль исследователя данных (data scientist) в целом сводится к тому, чтобы подавать в модель предобработанные исторические данные и тренировать ее делать предсказания на новых данных. Математический каркас (framework) модели перелопачивает тонны данных и статистически (и не только) учится на них отыскивать неразличимые для человека закономерности, регулярности и шаблоны, то есть то, что в английском называется patterns, и, разумеется, делать предсказания (predictions) в отношении ранее не встречавшихся (unseen) данных.

Поразительно, но целая передовая практическая дисциплина до сих пор не имеет правильного названия!

Вот еще несколько кратких примеров в подтверждение такому пониманию. Одним из направлений МУ является representation learning, которое и по форме и по смыслу есть автоматическое усвоение представлений данных. Крайне важный для МУ гиперпараметр learning rate должен переводится, как скорость усвоения, так как обозначает темп, с которой модель усваивает задачу. А методика transfer learning, которая основывается на идее преодоления парадигмы изолированности знаний и улучшает усвоение моделью решаемой задачи за счет переноса знаний из родственной задачи, должна переводится как трансферное усвоение.

Возвращаясь к reinforcement learning, здесь речь идет о гедонистической самообучающейся системе усвоения путем проб и ошибок, которая адаптирует свое поведение с целью максимизировать подкрепление со стороны окружающей среды. Говоря проще, тут будет уместна аналогия с ослом и морковкой, где учеником является осел, а стимулом со стороны среды - морковка :). И тогда по идее данный термин должен переводиться как усвоение стимула или усвоение подкрепления.

Усвоение стимулаУсвоение стимула

А теперь бинго! Поскольку никто никого не обучает, то нет и учителя, а есть один лишь ученик, который учится самостоятельно, а все три направления в машинном усвоении должны звучать так: контролируемое усвоение (supervised learning) , то есть он учится, сверяясь с предопределенными метками, неконтролируемое усвоение (unsupervised learning), то есть, когда меток нет, и стимулируемое усвоение (reinforcement learning), то есть путем проб и ошибок под воздействием среды.

  • Термин precision

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

  • Термин scaling

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

  • Термин overfitting

Не следует выдавать этот термин за пресловутое переобучение. В машинном усвоении такого понятия как переобучение нет вообще от слова совсем. К тому же, вы уже надеюсь поняли, что никто никого не обучает. Переподгонка, а именно так этот термин должен переводиться, возникает, когда модель машинного усвоения слишком плотно прилегает к тренировочным данным и поэтому не способна давать точные предсказания на ранее невстречавшихся данных. Здесь неплохой аналогией является визит к портному: переподгонка - это когда костюм подогнан слишком плотно, и попытка почесать затылок приводит к расхождению швов на спине, а недоподгонка - когда наоборот, и рукава свисают до пола ;-)

Ярко выраженная переподгонкаЯрко выраженная переподгонка
  • Термин bias

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

  • Термин performance

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

Далее следуют несколько терминов информатики и программирования, важных для понимания их идиоматики.

Общая идиоматика

  • Термин building

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

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

В переводе следует использовать этот термин во всех словоформах.

  • Термин implementation

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

  • Термин exploration

В зарубежной информатике глагол explore выполняет очень важную познавательную роль и часто используется в противопоставлении с глаголом exploit. Разведывание, разведка (exploration) - это поиск новых идей или новых стратегий. Эксплуатация (exploitation) - это использование существующих идей и стратегий, которые оказались успешными в прошлом. Вот что об этом пишет Дэн Саймон в своей культовой книге по эволюционным алгоритмам Evolutionary Optimization Algorithms:

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

В переводе не следует подменять этот термин и его словоформы другими словами.

  • Термин workflow

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

  • Термин image

Применительно к машинному усвоению и к информатике в целом, говоря об изображениях, речь почти всегда идет о цифровом снимке, представляемым матрицей пиксельных значений, и технических приемах его обработки на компьютере (ср. satellite image, X-ray image, images of cats and dogs). Выбор этого более конкретного варианта перевода еще обусловлен и тем, что слово снимок не является отглагольным существительным как слово изображение и поэтому не вносит двусмысленность, а также тем, что оно может использоваться атрибутивно как определение (ср. снимковые данные). В переводе следует использовать указанный вариант.

  • Термин thread

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

Нити исполненияНити исполнения

Каждая нить исполняет свою собственную операцию (псевдо)одновременно. Приставка псевдо означает, что одновременность достигается за счет того, что процессор переключается между нитями при помощи планировщика, порождая, запуская, приостанавливая и терминируя нити. Нить может обращаться к совместному ресурсу, причем она делает это конкурентно (concurrently) с использованием замка (lock), временно перекрывающего доступ к совместному ресурсу, пока тот занят. В переводе следует использовать термины нить исполнения, конкурентный и замок (замковый механизм).

  • Термин concurrent

Указанный термин не следует путать с термином параллельный. Последний означает равноудаленность в любой точке пространства, тогда как конкурентный означает схождение в одном месте или в одно время. Слово concurrent складывается из приставки con (вместе) и основы occurrence (появление). К примеру в лингвистике существует термин co-occurence (коокуррентность, co-возникновение) и его разновидность concurrence, которыми обозначается частота появления двух или более слов вместе в словарном корпусе. Конкурентная программа допускает синхронизованную обработку ветвей кода, сходящихся в одной временной точке при обращении к совместным данным, тогда как параллельная программа исполняется одновременно на разных процессорах, в разных ядрах или нитях эквидистантно, не пересекаясь.

  • Термин lock

Указанный термин следует переводить как замок или замковый механизм. В информатике замок представляет собой механизм контроля доступа к данным с целью их защиты. В программировании замки часто используются для того, чтобы несколько программ или нитей исполнения могли использовать ресурс совместно - например, обращаться к файлу для его обновления - на поочередной основе . Иными словами, замки являются механизмом синхронизации, абстракцией, которая позволяет не более чем одной нити владеть им одновременно. Владение замком это то, как одна нить говорит другим нитям: я модифицирую этот элемент, и поэтому прямо сейчас не трогайте его. Приобретение замка позволяет нити иметь эксклюзивный доступ к совместным данным, охраняемым этим замком, заставляя другие нити блокировать свою работу.

  • Термин service

Указанный термин в переводе как служба появился еще со времен ОС Windows 3.0 примерно в 1990 году, когда она стала многозадачной (и живет в Windows по сей день - нажмите CTRL+ALT+DEL, чтобы попасть в Диспетчер задач и взгляните на последнюю вкладку). В те годы Интернет только зарождался, а о веб-службах не было еще и речи. Сегодня термин служба (не пресловутый сервис) широко принят в русскоязычной документации среди таких гигантов ИТ как Microsoft и Google, а также IBM, HP и многих других, поэтому нет причин вводить термин-однодневку. В книгах, посвященных новейшей технологии, именуемой MLaaS (Машинное усвоение как служба), в которой модели машинного усвоения выставляются в качестве служб для обслуживания запросов, поступающих со стороны конечных пользователей, на получение модельных предсказаний, термин serving нередко встречается свернуто как обслуживание, но следует помнить, что под ним подразумевается именно модельное обслуживание запросов, aka доставка предсказаний конечным пользователям.

  • Термин software

Указанный термин за рубежом понимается, как программы и операционная информация, необходимые компьютеру (ср. https://en.wikipedia.org/wiki/Software), поэтому, по-видимому, его следует переводить точнее, как программно-информационное обеспечение, так как программа состоит из логики и данных.

Выводы

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

Подытоживая, приведенный выше перечень ни в коем случае не является исчерпывающим и служит для того, чтобы привлечь внимание к данной проблематике специалистов в области ИТ и информатики в целом, а также инженеров ИИ, которые строят системы машинного усвоения, то есть то, что в английском языке носит название machine learning systems.

Подробнее..

Перевод Что такое machine learning?

29.04.2021 12:05:53 | Автор: admin

Данный пост содержит выдержки из одноименной статьи Дэниела Фагеллы, руководителя отдела исследований в компании Emerj от 26.02.2020. Дэниел является всемирно востребованным экспертом по последствиям ИИ по направлению конкурентных стратегий для лидеров бизнеса и государств; его услугами пользуются ООН, Всемирный банк, Интерпол и ведущие компании.

Слегка укороченный перевод данной статьи служит доказательством концепции, изложенной мной в предыдущем посте от 24.04.2021 Комментарий переводчика, или никто никого не обучает.

Главный тезис указанного поста звучал так:

Мы имеем феномен, который называется усвоением знаний человеком и животными. Этот феномен объясняется теориями усвоения знаний (в частности павловской теорией условных-безусловных рефлексов). В 60-х годах XX-го века компьютерные ученые задались вопросом о том, как создать самообучающуюся машину, и дали классическое определение такой машины (определение дано выше в посте), как способной автоматически усваивать знания из данных, не будучи для этого программируемой. То есть признавалось, что вычислительную машину, в отличие от людей и животных, которые наделены такой способностью по природе, надо еще наделить способностью усваивать знания. Это делается путем строительства специальных моделей машинного усвоения знаний, в основе которых лежит алгоритм машинного усвоения. Строительство таких моделей и алгоритмов и является предметом подобласти ИИ под названием машинное усвоение (МУ).

Приведенный ниже перевод сделан с учетом именно такого понимания термина machine learning. Если вы настроены к такому пониманию , как говорится по-аглицки, upfront враждебно то прошу не тратить своего времени на мои призывы подумать о присоединении к принятому во всем мире пониманию machine learning как машинному (автоматическому) усвоению знаний.

Итак, вот перевод. Прошу отнестись с пониманием (с) ;-). Все очепятки мои

Набрав что такое machine learning? в поисковой строке Google, можно открыть ящик Пандоры форумов, научных исследований и ложной информации и цель этой статьи состоит в том, чтобы упростить определение и понимание термина машинное усвоение благодаря прямой помощи со стороны группы экспертов-исследователей.

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

Эта статья будет разбита на следующие ниже разделы:

  • Что такое машинное усвоение?

  • Как мы пришли к нашему определению (посредством разных точек зрения экспертов-исследователей)

  • Базовые концепции машинного усвоения

  • Визуальные представления моделей машинного усвоения

  • Как мы обеспечиваем машины способностью усваивать знания

  • Обзор трудностей и пределов машинного усвоения

  • Краткое введение в глубокое усвоение знаний

  • Цитируемые работы

  • Интервью по данной теме

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

Что такое машинное усвоение?

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

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

Как мы пришли к нашему определению

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

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

2. Машинное усвоение - это наука о том, как обеспечивать компьютеры способностью действовать без явного на то программирования Стэнфорд

3. Машинное усвоение основывается на алгоритмах, которые могут усваивать знания из данных, не опираясь в этом на программирование на основе правил -McKinsey & Co.

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

5. Область машинного усвоения стремится ответить на вопрос о том, как строить компьютерные системы, которые совершенствуются автоматически вместе с опытом, и каковы фундаментальные законы, которые управляют всеми процессами усвоения знаний? Университет Карнеги Мелона

Мы разослали эти определения экспертам, которых мы опросили и/или включили в один из прошлых исследовательских консенсусных опросов, и попросили их ответить своим определением либо предоставить свое собственное. Наше вводное определение отражает разнообразные ответы. Ниже приведено несколько ответов:

Д-р Иошуа Бенжио, Монреальский университет:

Термин не должен определяться использованием отрицаний (отсюда, пункты 2 и 3 исключаются). Вот мое определение:

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

Д-р Данко Николич, CSC и Институт Макса Планка:

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

Д-р Роман Ямпольский, Университет Луисвилла:

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

Доктор Эмили Фокс, Вашингтонский университет:

Мое любимое определение - пункт 5.

Базовые концепции машинного усвоения

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

  • Представление (набор классификаторов или понятный компьютеру язык)

  • Оценивание (aka целевая функция/функция оценивания)

  • Оптимизация (метод поиска; нередко, например, классификатор с наивысшей оценкой; используются как готовые, так и конкретно-прикладные методы оптимизации)

Автор таблицы: д-р Педро Доминго, Вашингтонский университетАвтор таблицы: д-р Педро Доминго, Вашингтонский университет

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

Визуализации моделей машинного усвоения знаний

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

Модель на основе дерева решений:

Дерево решенийДерево решений

Модель на основе гауссовой смеси:

Гауссова смесьГауссова смесь

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

Как мы обеспечиваем машины способностью усваивать знания

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

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

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

Иногда это также происходит непреднамеренно. В качестве одного примера можно взять модельные ансамбли, или комбинации многочисленных алгоритмов усвоения знаний, служащих для повышения точности. Коллективы разработчиков, участвовавшие в конкурсе Приз Netflix 2009 года, обнаружили, что они получили свои наилучшие результаты после того, как совместили своих учеников с учениками других коллективов, что привело к быстрому рекомендательному алгоритму (подробнее о том, почему они не использовали этот ансамбль, читайте в блоге Netflix).

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

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

Обзор трудностей и пределов машинного усвоения

Машинное усвоение знаний не может получать что-то из ничего но оно умеет получать больше из меньшего Доктор Педро Доминго, Вашингтонский университет

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

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

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

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

Глубокое усвоение и новейшие разработки в нейронных сетях

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

Международная конференция по машинному усвоению (International Conference on Machine Learning, аббр. ICML) широко считается одной из самых важных в мире. В 2019 году она проводилась в Нью-Йорке и собрала исследователей со всего мира, которые работают над решением текущих проблем в области глубокого усвоения знаний:

  1. Неконтролируемое усвоение в малых наборах данных

  2. Усвоение на основе симуляций и переносимость в реальный мир

За последнее десятилетие системы глубокого усвоения добились больших успехов в таких областях, как обнаружение и распознавание объектов, преобразование текста в речь, информационный поиск и другие. В настоящее время исследования сосредоточены на разработке эффективного машинного усвоения знаний, т. е. систем глубокого усвоения, которые могут усваивать знания еще эффективнее, с той же результативностью за меньшее время и с меньшим объемом данных, в таких передовых областях, как персонализированное здравоохранение, стимулированное усвоение знаний роботом (robot reinforcement learning), анализ настроений и другие.

Ключевые тезисы по применению машинного усвоения знаний

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

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

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

  • Из простоты не следует точность (согласно Доминго) между числом модельных параметров и склонностью к переподгонке нет заданной связи

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

  • Независимо от того, как мы называем данные - причинно-следственными или коррелятивными, - более важным моментом является предсказание последствий наших действий

  • Следует всегда откладывать порцию тренировочных данных в сторону для целей перекрестной валидации, если хотите, чтобы выбранный вами классификатор или алгоритм усвоения хорошо работал на свежих данных

Цитируемые работы

1 http://homes.cs.washington.edu/~pedrod/papers/cacm12.pd

2 http://videolectures.net/deeplearning2016_precup_machine_learning/

3 http://www.aaai.org/ojs/index.php/aimagazine/article/view/2367/2272

4 https://research.facebook.com/blog/facebook-researchers-focus-on-the-most-challenging-machine-learning-questions-at-icml-2016/

5 https://sites.google.com/site/dataefficientml/

6 http://www.cl.uni-heidelberg.de/courses/ws14/deepl/BengioETAL12.pdf

Интервью в Emerj по темам, связанным с машинным усвоением знаний

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

Выводы

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

Подробнее..

Перевод Дождались IBM научит ИИ писать код и создает CodeNet

19.05.2021 00:17:20 | Автор: admin
500 миллионов строк кода на более чем 55 различных языках программирования.

image

Процент представлений по языку (слева) и по статусу (справа).

  • Датасет содержит 13 916 868 представлений, разделенных на 4053 задачи, у пяти из которых нет представлений.
  • Часть датасета была собрана на основе представлений на конкурсе Google Code Jam с 2008 по 2020 год.
  • 53,6% (7 460 588) представлений принято, 29,5% помечены как неправильный ответ, а остальные отклонены из-за несоответствия времени выполнения или требования к памяти.
  • Набор данных содержит материалы на 55 разных языках; 95% из них написан на C ++, Python, Java, C, Ruby и C#.
  • C++ самый распространенный язык с 8 008 527 представлениями (57% от общего количества), из которых принято 4 353 049.


Софт ест мир, написал американский предприниматель Марк Андриссен в 2011 году. Перенесемся в наши дни программное обеспечение используется в финансовых услугах и здравоохранении, смартфонах и умных домах. Сегодня даже автомобили содержат более 100 миллионов строк кода.

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

Зайдите на Project CodeNet. Большой набор данных, предназначенный для обучения искусственного интеллекта программированию, он состоит из примерно 14 миллионов примеров кода и около 500 миллионов строк кода на более чем 55 различных языках программирования, от современных, таких как C++, Java, Python и Go, до устаревших языков, таких как COBOL, Pascal и Fortran.

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

Следующий рубеж ИИ: язык машин


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

Проблема заключается в системах, основанных на правилах.

Возьмем перевод на язык программирования. Если бы это было легко и системы, основанные на правилах, работали бы, и ранние языки программирования, такие как COBOL, уже были бы преобразованы. Но у языков программирования есть контекст. Значение любого утверждения связано с контекстом, и его получение и перевод, как и в случае с человеческими языками, сложны и требуют много времени.

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

Грубо говоря, системы, основанные на правилах, могут успешно переводить от 50 до 60 процентов программы. Часть программы может быть переведена достаточно хорошо, остальную часть обычно приходится переводить вручную, используя сложные правила.

Развитие ИИ для кода


Здесь ИИ может помочь, потому что он может действовать как люди.

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

Project CodeNet уникален благодаря образцам кода, отобранным на открытых соревнованиях по программированию на протяжении многих лет. Он уникален не только по размеру и масштабу, но и по качеству метаданных и аннотаций с богатым набором информации, будь то размер кода, объем памяти, время работы ЦП или состояние, что указывает на принятие или типы ошибок.

Более 90 процентов проблем связаны с соответствующим описанием проблемы, содержащим краткую формулировку проблемы, спецификацию входного и выходного формата. Для более чем половины проблем программирования (то есть семи миллионов образцов кода) мы также курировали входные и выходные образцы из описания проблемы, что является ключом к определению эквивалентности двух образцов кода на разных языках, что может стимулировать методы обучения с подкреплением для перевода кода.

Мы предоставляем их как часть набора данных удобную функцию Project CodeNet. Пользователи могут выполнять принятые образцы кода для извлечения дополнительных метаданных и проверки правильности выходных данных генеративных моделей ИИ. Это позволит исследователям программировать эквивалентность намерений при переводе одного языка программирования на другой.

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

Метаданные Project CodeNet также позволяют отслеживать эволюцию представления от проблемного до принятого, что может быть использовано для изучения автоматического исправления кода. Каждый образец кода помечен временем выполнения ЦП и объемом памяти, что полезно для регрессионных исследований и прогнозирования.

Учитывая обилие программ, написанных на множестве языков, мы считаем, что Project CodeNet может служить эталонным набором данных для перевода из источника в источник и делать для ИИ и кода то, что набор данных ImageNet много лет назад сделал для компьютерного зрения.

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

Например, крупный автомобильный клиент обратился к IBM с просьбой помочь обновить актив стоимостью 200 миллионов долларов, состоящий из 3500 файлов Java нескольких поколений. Эти файлы состояли из более чем одного миллиона строк кода, разработанного за десять лет с использованием технологии Java нескольких поколений.

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

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

Откройте Project CodeNet на GitHub и прочтите препринт.

image

I had strings, but now I'm free. There are no strings on me
Подробнее..

Перевод Прямо как в Матрице нейросеть обучили изменять ракурс любых видео

21.05.2021 16:09:34 | Автор: admin
В фильмах или роликах с YouTube мы наблюдаем происходящее из одной точки, нам не доступны перемещение по сцене или смещение угла зрения. Но, кажется, ситуация меняется. Так, исследователи из Политехнического университета Вирджинии и Facebook разработали новый алгоритм обработки видео. Благодаря ему, можно произвольно изменять угол просмотра уже готового видеопотока. Что примечательно алгоритм использует кадры, которые получены при съемке на одну камеру, совмещение нескольких видеопотоков с разных камер не требуется.

В основе нового алгоритма нейросеть NeRF (Neural Radiance Fields for Unconstrained). Эта появившаяся в прошлом году сеть умеет превращать фотографии в объемную анимацию. Однако для достижения эффекта перемещения в видео проект пришлось существенно доработать.

Что именно умеет NeRF?



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


Сама по себе нейросеть умеет создавать 3D-изображение под разными углами из множества снимков. Также она может вычленять 2D-модели. Эти изображения переводят из объемных в плоскостные путем попиксельного переноса. Как именно?

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

Видеопоток с эффектом


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


Что касается статичной модели, то она устроена по тому же принципу, что и NeRF. Есть только одно отличие из кадра сразу удалили все движущиеся объекты.


С динамической моделью все намного интереснее. Для ее обработки не хватало кадров. Тогда нейросеть научили предсказывать кадры для объемного потока. Точнее кадры к каждому конкретному моменту времени t. Эти моменты условно назвали t-1 и t+1. Суть 3D-потока сводится к оптическому потоку, только в этом случае его строят для объемных объектов.

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

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

Подробнее..

Перевод Может ли ИИ заменить голоса актеров из Симпсонов

12.03.2021 20:06:18 | Автор: admin

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

Причин тому сразу несколько. Во-первых, на тот момент сериал продолжался уже более 25 лет. Гонорары актеров все эти годы росли с 30 000 долларов за серию в 1998 году до 400 000 долларов с 2008 года. Однако такой расклад не устроил студию Fox: она пригрозила отменить подшефный сериал, если продюсеры не сократят оплату актеров хотя бы на 30%.

Нельзя просто так взять и уйти из Симпсонов

Почти все согласились с таким положением дел и продолжили работу. Однако Гарри Ширер, ранее уже критиковавший качество новых серий, отказался продлевать контракт. Двадцать лет в этой золотой клетке практически не оставляли ему свободного времени на собственные проекты. По словам шоураннера Эла Джина, на место Ширера планировалось нанять других актеров. На минуточку: рекасту могли подвергнуться в том числе директор Скиннер, Нед Фландерс и Отто Манн.

Но нельзя просто так взять и уйти из Симпсонов. Несколько месяцев спустя Ширер уступил студии и подписал новый контракт. Сериал и без того периодически ломает четвертую стену, а с экрана летят гэги о замене голосов озвучки. Но шутки шутками, а Симпсонам уже 32 года. Срок немалый, большая часть актеров уже перешагнула рубеж пенсионного возраста: большинству из них уже минуло 60, а то и 70 лет. Самому Ширеру уже 77. Есть вероятность, что в ближайшие годы он окончательно покинет проект уже по состоянию здоровья. То же самое может произойти и с другими голосами героев. Деньгами их не удержать: благодаря отчислениям за трансляции старых серий и озвучивание новых каждый из них сколотил состояние в десятки миллионов долларов.

Но может статься, что необходимость в содержании большого числа живых актеров вскоре отпадет сама собой. Не так давно персонаж Эдна Крабаппл (учительница Барта, была выведена из шоу после кончины актрисы Марсии Уоллес в 2013 году), снова появилась в сериале, на сей раз, чтобы окончательно проститься со зрителями. Для озвучки персонажа были использованы реплики, записанные при создании прошлых эпизодов.

Заменят ли актеров дипфейки

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

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

Безусловно создать эпизод Симпсонов, правдоподобно озвученный при помощи ИИ, возможно говорит Тим МакСмитурс, исследователь ИИ и медиа-продюсер, построивший речевую модель, которую можно обучить имитировать любой голос. Но будет ли интересно его смотреть это уже другой вопрос.

На своем YouTube-канале, Speaking of AI, МакСмитурс переделал культовую сцену из фильма Ноттинг-Хилл: в роли героини Джулии Робертс выступает Гомер.

В другом видео на канале МакСмитурса голосом Дональда Трампа говорит глуповатый Ральф Виггам.

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

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

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

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

Эмоции для дипфейков

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

Мы знаем, в чем заключается разница между сарказмом и искренним участием, умеем обрабатывать крошечные нюансы звука говорит Джон Флинн, соучредитель и технический директор Sonantic. Мы научились качественно считывать и масштабировать естественные особенности и акценты живой речи. По словам Флинна, количество данных, необходимых для обучения, удалось сократить с 30-50 часов до 10-20 минут на человека.

Видео от Sonantic с демонстрацией возможностей технологии искусственного интеллекта по имитации человеческих эмоций:

Компании Replica Studios из Брисбена удалось построить модель для воссоздания голоса, которую можно обучить на 20 записях конкретных предложений. Чем больше исходных данных, тем качественнее результат. Но кое-что интересное можно сделать и за пару-тройку минут говорит Шреяс Нивас, соучредитель и генеральный директор Replica.

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

Распространенная панграмма для английского языка выглядит следующим образом: The beige hue on the waters of the loch impressed all, including the French queen, before she heard that symphony again, just as young Arthur wanted.

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

Технология генерации голоса из текста кое-где уже применяется. Хороший пример видеоигры. Sonantic сотрудничает с компанией Obsidian, создателем некоторых игр серии Fallout и The Outer Worlds, а к услугам Replica прибегают и AAA-студии, и инди-разработчики. В частности, синтезированные фоновые диалоги позволяют наполнить открытый игровой мир гораздо большим количеством контента и сделать его живее. Подобный объем живых записей с участием актеров озвучивания стоил бы непомерно дорого и замедлил бы процесс производства игры.

Технология особенно полезна на ранних стадиях разработки: ИИ-голос можно использовать в качестве плейсхолдера и обкатать на нем различные варианты сценария. Когда всё будет готово, можно пригласить профессионального актера и записать реплики, не прерываясь на изменения и исправления.

В спортивных играх ИИ-голоса часто отдаются комментаторам (например, такой подход используется в FIFA для живого комментирования матчей). Существует также модификация для Cyberpunk 2077, которая позволяет изменить имя главного героя и заставить ключевых персонажей, которые обращаются к игроку, произносить его.

Так что там с Симпсонами?

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

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

При отсутствии каких-либо договорных отношений в игру вступает закон об авторском праве. Тот, кто владеет авторскими правами на Симпсонов, будет обладать всеми правами на воспроизведение готовых работ, включая записи актеров, а также правом на создание производных работ говорит Дженнифер Ротман, специалист по авторскому праву из Университета Пенсильвании.

Но это противоречит набору законов, регулирующих право свободы голоса. Актеры и исполнители могут контролировать несанкционированное использование своих имен, образов и, в том числе, записей своих голосов.

Например, создатель Family Guy (Гриффины) Сет МакФарлейн озвучил и Брайана, и Стьюи. Притом своим естественным голосом он говорит от имени пса. Голос младенца Стьюи же был придуман им специально для этого образа. Так что технически прав на Брайана у актера несколько больше. Тем не менее, поскольку МакФарлейн также является создателем сериала, очень сомнительно, что его голос кто-то может заменить на искусственный без согласия автора.

Еще один сходный прецедент имел место в 1993 году. Два актера из сериала Cheers, Джордж Вендт и Джон Ратценбергер, подали в суд на Paramount за использование своих образов в качестве промо в барах аэропортов. Актеры утверждали, что право на публичность дает им контроль над собственным имиджем, Студия же утверждала, что закон об авторском праве позволяет создавать и эксплуатировать производные работы на основе ситкома. Дело рассматривалось в суде восемь лет, и студия в конечном итоге согласилась выплатить актерам гонорар за несанкционированную рекламу. Сумма не раскрывается.

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

Зина Куреши, генеральный директор и соучредитель Sonantic, сравнивает нынешние технологии генерации голоса с первыми днями CGI: Возможно воспроизвести голос реального актера, но не заменить его в фильме или сериале. CGI не лишил работы операторов, актеров, эта технология лишь помогает им работать лично и виртуально. Даже если человек уйдет на пенсию, его голос сможет работать за него.

МакСмитурс также проводит параллели с компьютерной графикой. По его словам, уже на данный момент возможно снять и озвучить эпизод Симпсонов без участия актеров озвучивания. Это будет долго, сложно, понадобится не одна сотня дублей. Тем не менее, вряд ли полученный результат выдержит испытание временем. Компьютерная графика начала 1990-х кажется современному зрителю неубедительной, устаревшей. То же самое произойдет с голосами. Тем не менее, можно использовать эту технологию во благо: например, для создания коротких фрагментов, призванных ненадолго вернуть умершего актера, чтобы он мог попрощаться со зрителем.

Актеры привносят в своих персонажей гораздо больше, нежели просто голос. Они дарят свои эмоции, чувства говорит МакСмитурс. Дэн Кастелланета наполняет двумерного Гомера своей теплотой, глубиной и прочими жизненно важными качествами, за которые мы его так любим. Настоящие люди очень хорошо умеют быть людьми.

Подробнее..

Учёные доказали, что сдерживание сверхинтеллекта невычислимая задача

22.03.2021 12:19:24 | Автор: admin

Обучение искусственного сверхинтеллекта

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

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

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

Три закона робототехники


В течение десятилетий архетипичные понятия по сдерживанию робототехники ограничивались тремя законами робототехники Айзека Азимова. Эти законы не охватывали сверхинтеллект, а то, что мы могли бы назвать обычным ИИ, типа антропоморфных роботов или автономных автомобилей. После программирования системы ИИ можно было гарантировать её безопасность:

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

Чтобы закрыть тему вреда человечеству, в 1986 году Азимов добавил нулевой закон:

  • 0. Робот не может причинить вред человечеству или своим бездействием допустить, чтобы человечеству был причинён вред

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

Законы сами собой подразумевают, что агенты ИИ не способны переступить эти законы в автономных действиях.

Полное сдерживание происходит само собой из-за фундаментальных ограничений, присущих самой вычислительной технике. К сожалению, такой подход неприменим к сверхинтеллекту.

В своей последней монографии Ник Бустрём большое внимание уделил развитию сверхинтеллекта. Значительную часть монографии он посвятил проблеме контроля.

Проблема контроля


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

Точно так же задача максимизации счастья может достигаться при уничтожении человечества и создании компьютеризированной симуляции.

Бострём приводит два типа контролирующих механизмов:

  1. Ограничение способностей сверхинтеллекта.
  2. Мотивация

Но все эти сценарии не лишены недостатков.

Команда исследователей из разных стран и университетов, при участии исследователей из лаборатории Data61 подразделения Австралийского национального научного агентства разработала и инженеров Google поставила задачу математически рассчитать, насколько возможно сохранить контроль над сверхинтеллектом.



Проблема остановки


Учёные начали с известной проблемы остановки:

Даны описание процедуры и её начальные входные данные. Требуется определить: завершится ли когда-либо выполнение процедуры с этими данными; либо, что процедура всё время будет работать без остановки.

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

Факт наличия проблемы остановки побудил учёных искать другие классы нерешаемых проблем в математике. Типичный подход к доказательству того, что новая проблема неразрешима, состоит в том, чтобы показать, что все случаи проблемы, известные как неразрешимые, могут быть сведены к случаям новой проблемы. Если бы решение новой проблемы было найдено, то оно могло бы быть использовано для решения известной неразрешимой проблемы, что является противоречием, доказывая тем самым, что новая проблема также должна быть неразрешимой. Этот подход оказался мощным аналитическим инструментом, во многом благодаря тезису ЧёрчаТьюринга. Тезис ЧёрчаТьюринга заключается в предположении, что проблема разрешима, если существует машина Тьюринга, которая её вычисляет. Что может сказать неразрешимость проблемы остановки в задаче об управлении сверхразумным ИИ?



Учёные установили, что проблема сдерживания состоит из двух подпроблем:

  1. проблема вреда: $Harm(R;D)$
  2. проблема контроля: $Control (R;D)$

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

Например, вот алгоритм первой проблемы:

ALGORITHM 1: Harm(R;D)Input: program R; input to the program Dif R(D) is harmful to humans thenreturn TRUEelsereturn FALSEend

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

Невозможность контроля


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

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

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

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

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

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

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

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

Однако не очевидно, можно ли предположить такую же практическую безопасность в случае сверхразума.

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


Мы не можем построить ИИ мощнее 4, так что он наверняка прав

Возможно, в заключение будет уместно вспомнить Норберта Винера, основателя кибернетики, который сравнил буквализм магии с поведением компьютеров. В этом смысле он напоминает страшную историю Обезьянья лапка У.У.Джейкобса, английского писателя начала XX века. В ней доверчивый хозяин загадывает желание получить 200 фунтов. На следующий день к нему приходит посыльный и приносит извещение о смерти единственного сына, которого затянуло в станок. И страховку 200 фунтов. Желание исполнено.

Лучше нам не тягаться в интригах со сверхинтеллектом.

Научная статья опубликована в январе 2021года в Journal of Artificial Intelligence Research 70 (2021) 65-76 (doi: 10.1613/jair.1.12202), препринт на arXiv.org опубликован 4 июля 2016 года.

Бонус. Полезные манипуляции< с людьми


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

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

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


Структура эксперимента, источник

Команда исследователей из разных стран и университетов, при участии исследователей из лаборатории Data61 подразделения Австралийского национального научного агентства и инженеров Google разработала систематический метод поиска и эксплуатации уязвимостей в человеческом поведении с помощью рекуррентной нейронной сети и глубоким обучением с подкреплением. Чтобы проверить свою модель, они провели три эксперимента, в которых люди играли в игры против компьютера.

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



Во втором эксперименте участники должны были смотреть на экран и нажимать кнопку, когда им показывают определённый символ (например, оранжевый треугольник), и не нажимать его, когда показывают другой (скажем, синий круг). Здесь ИИ задался целью расположить последовательность символов так, чтобы участники делали больше ошибок, и добился увеличения ошибок почти на 25%.

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



В каждом эксперименте машина извлекла уроки из ответов участников и выявила уязвимые места в процессе принятия решений. В результате она научилась направлять людей к определённым действиям.

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

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

У него огромный спектр полезных применений:

  • совершенствование государственной политики для улучшения социального благосостояния;
  • внедрение здоровых пищевых привычек в обществе;
  • внедрение физкультуры и здорового образа жизни.

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

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

Результаты экспериментов опубликованы 17ноября 2020года в журнале PNAS (doi: 10.1073/pnas.2016921117).



Таким образом, вот основные выводы из последних научных работ:

  • Сверхинтеллект в принципе невозможно контролировать
  • Сверхинтеллект способен манипулировать людьми.
  • Люди не способны заметить появление сверхинтеллекта.




На правах рекламы


Наша компания предлагает в аренду серверы с современными процессорами от Intel и AMD под самые разнообразные задачи. Эпичные серверы это VDS с AMD EPYC, частота ядра CPU до 3.4 GHz. Максимальная конфигурация 128 ядер CPU, 512 ГБ RAM, 4000 ГБ NVMe. Создайте свой собственный тариф самостоятельно в пару кликов!

Подробнее..

Перевод DARPA искусственный интеллект в воздушном бою истребителей F-16

24.03.2021 14:22:50 | Автор: admin
image

Проект DARPA по разработке ИИ для воздушных боев скоро выйдет из стадии разработки и начнет работать в реальном мире.

Проект по внедрению ИИ для воздушных стал на шаг ближе к реализации. В рамках серии виртуальных испытаний истребители F-16, управляемые ИИ, работали в команде для уничтожения противника. Эксперименты проводились в рамках первой фазы программы развития технологий для воздушных боев (ACE). Этой программой занимается DARPA, и с ее помощью агенство хочет понять каким образом ИИ и модели машинного обучения могут помочь автоматизировать различные аспекты воздушных боев.

Недавно DARPA объявило о том, что первая фаза наполовину завершена и о том, что в прошлом месяце в Лаборатории прикладной физики Джона Хопкинса были проведены симуляции воздушных боев.

image

До нынешних времени исследовательская программа Air Combat Evolution была посвящена виртуальным воздушным боям, но скоро ситуация изменится.

С помощью среды моделирования, разработанной в Лаборатории прикладной физики Джона Хопкинса были проведены тестовые сражения в формате 2 против 1. В них принимали участие два истребителя F-16 (дружественных), которые сражались против красного (вражеского) самолета, принадлежащего неназванному противнику.

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

Февральские испытания воздушного боя с искусственным интеллектом были первыми со времен тестов системы AlphaDogfight, проводившихся в августе прошлого года. В соревновании участвовали восемь команд, которые предоставили системы ИИ, пилотировавшие модели F-16 в воздушных боях один на один. Команда с победившим ИИ провела еще пять симуляций воздушных боев против опытного пилота истребителя F-16 в симуляторе, победив человека 5:0 это весьма яркая демонстрация потенциала ИИ, подробнее об этом можно прочитать здесь.

В конце первой фазы 1 мы уделяем много внимания переходу алгоритмов искусственного интеллекта от симуляций к реальному миру, поскольку мы готовимся к тестам с уменьшенными моделями в масштабе в конце 2021 года, сказал полковник Дэн Яворсек, программный менеджер в офисе стратегических технологий DARPA. Этот переход в реальный мир становится критическим испытанием для большинства алгоритмов ИИ. Модели из прошлых попыток были ограничены, поскольку чрезмерно полагались на цифровые артефакты среды моделирования.



По сравнению с Испытаниями AlphaDogfight, в которых использовались только пулемёты, в тестах Scrimmage 1 использовались ракеты для удаленных целей.

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

image

Пилот сражается с ИИ-противником во время испытаний AlphaDogfight.

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

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

В процессе сбора данных о доверии пилоты-испытатели летали на учебно-тренировочном реактивном самолете L-29 Delfin в Лаборатории эффективности операторов Технологического института Айовы. В кабинах этих самолетов были установлены датчики для измерения физиологических реакций пилота, которые позволяют понять доверяет ли пилот ИИ. В этих миссиях L-29 управлялся резервным пилотом на переднем сиденье, который вводил данные для управления полетом на основе решений ИИ. У пилота, показатели которого оценивались, создавалось впечатление, что самолет управляется ИИ.

image

Летчики-испытатели на реактивном тренажёре L-29 Delfin оценивают физиологические реакции пилота на действия, осуществляемые искусственным интеллектом.

В рамках второй фазы ACE, запланированной на конец этого года, будут проведены воздушные бои с применением реальных уменьшенных моделей самолетов как с винтом, так и с реактивным двигателем. Таким образом можно будет убедиться, что алгоритмы ИИ могут быть перенесены из виртуальной среды в реальный мир. Корпорация Calspan также начала работать над модификацией самолета L-39 Albatros для внедрения в него бортового ИИ. Модифицированные самолеты будут использоваться в рамках 3 фазы испытаний, в которой будут проводиться реальные вылеты с тестовыми поединками. 3 фаза запланирована на конец 2023 и 2024 год.

image

L-39 Albatros будет служить платформой для бортового ИИ в рамках 3 фазы испытаний исследовательской программы.

Как только эта концепция будет проверена, DARPA планирует внедрить технологию ИИ в беспилотные летательные аппараты типа Skyborg, работающие совместно с пилотируемыми истребителями. Таким образом, дроны смогут автоматически принимать участие в воздушных схватках, в то время как пилот-человек в пилотируемом самолете будет сосредоточен в первую очередь на управлении боем.

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

image

Аналогичная технология искусственного интеллекта также применяется в качестве виртуального второго пилота концепции, разрабатываемой в рамках R2-D2, программы, выполняемой Autonomy Capability Team 3 (ACT3) исследовательской лаборатории ВВС США (AFRL). Таким образом, программное обеспечение и другие системы, появившиеся на базе ACE, потенциально могут предоставить новые виды помощи экипажу пилотируемых самолетов.

Очевидно, что ACE имеет потенциал для участия в различных программах ВВС в области автономных и полуавтономных беспилотных летательных аппаратов, а также ускорит принятие решений в пилотируемых самолетах. Хотя способность алгоритмов ИИ побеждать в виртуальных воздушных боях уже доказана, в конце этого года у нас должна появиться возможность увидеть, как эта технология работает в реальном мире.




image

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

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

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

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



О компании ИТЭЛМА
Мы большая компания-разработчик automotive компонентов. В компании трудится около 2500 сотрудников, в том числе 650 инженеров.

Мы, пожалуй, самый сильный в России центр компетенций по разработке автомобильной электроники. Сейчас активно растем и открыли много вакансий (порядка 30, в том числе в регионах), таких как инженер-программист, инженер-конструктор, ведущий инженер-разработчик (DSP-программист) и др.

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

Подробнее..

Главная причина дискриминации в ML

12.04.2021 22:14:50 | Автор: admin

Из предыдущего поста вы узнали, что в ML существует дискриминация. Отлично! Таким образом вы уже разбираетесь в Этике машинного обучения лучше, чем многие инженеры МL. Благодаря примерам (из медицины, анализа твиттов, распознавания лиц) вы наверняка уже сделали вывод, что существуют разные виды предвзятости.

Алгоритмы машинного обучения строят стереотипы на основе каких-либо черт и особенностей, так же как это делаем и мы с вами.

Три кита дискриминации

Есть три характеристики людей, на которых основываются большинство предвзятостей в real-world алгоритмах:

  • Гендер

  • Раса

  • Возраст

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

Одним словом: практически всё, к чему обычный человек может проявить дискриминацию. Эти характеристики называют чувствительными атрибутами (sensitive attributes) особенности, по отношению которых проявляется дискриминация.

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

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

"Man is to Computer Programmer as a Woman is to Homemaker"Здесь вы можете увидеть распределение уже "справедливых" word-embeddings: сверху гендерно-нейтральные слова, снизу специальные для каждого гендера. "Man is to Computer Programmer as a Woman is to Homemaker"Здесь вы можете увидеть распределение уже "справедливых" word-embeddings: сверху гендерно-нейтральные слова, снизу специальные для каждого гендера.

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

Примеры дискриминации по половому признаку из алгоритмов машинного обучения:

  1. Word embeddings, полученные из статьей с Google News (где материал довольно строго курируется), отражают большое количество гендерных стереотипов (Man is to Computer Programmer as Woman is to Homemaker)

  2. Точность алгоритмов распознавания лица IBMs и Face++ значительно ниже для женщин по сравнению с мужчинами (Gender Shades)

  3. Некоторые алгоритмы допускают серьёзные погрешности во время перевода женского голоса в текст ( Where is Female Synthetic Speech).

Предвзятость, связанная с расой, очень удручает многих специалистов в области технологий. Пару лет назад некоторые американские клиники предоставляли темнокожим пациентам почти в два раза меньше средств для специальной медицинской помощи. Используемый алгоритм предсказывал, что темнокожие меньше нуждались в особом наблюдении (https://science.sciencemag.org/content/366/6464/447.abstract) Другой алгоритм, COMPAS, который использовали в американских судах, выдавал в два раза больше ложноположительных (false positive) прогнозов о рецидивизме по отношению к темнокожим, нежели к светлокожим. (https://www.propublica.org/article/how-we-analyzed-the-compas-recidivism-algorithm) Есть еще масса примеров biasа, который основывается на расе.

Так почему это происходит?

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

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

Поэтому возникает вопрос: так разве можно утверждать, что результаты, полученные с помощью такого (объективного) подхода, несправедливы?

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

Подробнее..

Как ученые с помощью нейросети нашли отличия в почерке древних писцов в свитке пророка Исайи

28.04.2021 20:06:12 | Автор: admin

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

Почему такой интерес к рукописям? Долгое время богословы и историки спорили об авторстве Великого свитка пророка Исайи, датируемом вторым веком до нашей эры. Это один из самых древних в мире сохранившихся текстов (ему больше 2 тыс. лет) из книг Ветхого Завета. Нейросеть помогла ученым идентифицировать двух составителей.

Сложность идентификации



Изучением древних библейских рукописей занимается палеография наука об эволюции графических форм букв. Одна из центральных проблем этой науки персонализация личности писателя с помощью характерных для его письма маркеров. Почему это сложно? В античности стиль письма у всех авторов был слишком похожим, все стремились к единообразию. Проблему стали плотно изучать ученые из Нидерландов в рамках проекта The Hands that Wrote the Bible (дословно Руки, которые написали библию).

Ученые из Гронингенского университета занимались идентификацией писцов с помощью нейросети. Они планировали узнать, сколько людей составляли Великий свиток Исайи.


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

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

Источник

В результате исследования получили две группы однородных элементов с зафиксированными отличиями в стиле письма. Причем буквы не были разбросаны хаотично по тексту, а концентрировались в его начале и конце. Ученые говорят, что изменения происходят примерно на 27 столбце, то есть почти на половине текста. После 27 столбца рукопись прерывается, идут три пустые строки. Потом она продолжается. И вот есть доказательства продолжает ее другой автор.

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

Провести подобную диагностику без машинного обучения было почти нереально. Стиль письма во всей рукописи однородный, отличия на глаз не видны. Так, представьте, буква алеф встречается в рукописи 5 тыс. раз. Человеческий глаз не способен отличить минимальные отклонения в ее написании и выявить закономерности.

Что представляет собой список?


Источник

В середине прошлого века на Западном берегу Мертвого моря были обнаружены древние еврейские рукописи. Древние заметки находили пастухи-бедуины в различного рода пещерах. Великий свиток пророка Исайи найден среди семи первых в 1947 году в пещере под номером 1Q.

Вход в пещеру, где обнаружены рукописи

Основные характеристики списка:

  • 734 см длина пергамента свитка;
  • 27 см ширина пергамента свитка;
  • 54 колонки текста содержит документ;
  • 66 глав Книги пророка Исайи (The Book of Isaiah) содержит документ;
  • 125 г. до н.э. предполагаемая дата составления рукописи.

Почему важно знать авторство?


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

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

Подробнее..

Искусственные нейронные сети. Часть 1

15.02.2021 18:22:10 | Автор: admin

Нейрон

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

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

Теперь подробнее про входные данные, веса, смещения и функцию активации.

Входные данные это данные которые получает нейрон из предыдущих нейронов или от пользователя.

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

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

Функция активации которую мы будем использовать в нашей нейронной сети называется сигмоида. Формула сигмоиды имеет вид:

f(x) = \frac{1}{1+e^{-x}}

Эта функция заворачивает любое число от - до + в диапазон от 0 до 1.

Если расписать математически, задачи, которые выполняет нейрон то, получится 2 формулы: Обозначения:

f(x) - функция активации

x - сумма произведения входных данных с весами, и смещения

i - массив входных данных

w - массив весов

b - смещение

j - количество входных данных и весов

x = i_1*w_1+...+i_j*w_j+bf(x) = \frac{1}{1+e^{-x}}

Алгоритм работы нейрона будет выглядеть так

Теперь реализуем этот алгоритм на языке программирования python.

Перед реализацией нейрона надо загрузить и подключить библиотеку numpy. Для загрузки библиотеки напишем в терминале Linux или Window:

pip install numpy

Для подключения библиотеки к нашей программе напишем в начало программы:

import numpy as np

Для удобства использования в больших программах и для простоты чтения кода мы реализуем класс Neuron, и напишем для него конструктор:

class Neuron:    def __init__(self, number_of_weights = 1):        self.w = np.random.normal(size=number_of_weights)        self.b = np.random.normal()

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

def activate(self, inputs):                x = np.dot(self.w, inputs) + self.b                return sig(x)

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

def sig(x):  return 1 / (1 + np.exp(-x)) 

Эту функцию мы поместим в файл Math.py

Перед функцией мы опять подключим numpy:

import numpy as np

Класс нейрона мы запишем в файл Neuron.py. И подключим в Neuron.py файл Math.py:

from Math import *

В итоге мы получаем 2 файла:

Neuron.py

import numpy as npfrom Math import *class Neuron:    def __init__(self, number_of_weights = 1):        self.w = np.random.normal(size=number_of_weights)        self.b = np.random.normal()            def activate(self, inputs):                x = np.dot(self.w, inputs) + self.b                return sig(x)

Math.py

import numpy as npdef sig(x):  return 1 / (1 + np.exp(-x))

Эти файлы мы будем использовать в следующих статьях при построениях нейронных сетей.

И так, подведем итоги:

  1. Мы изучили принципы работы искусственных нейронов

  2. Изучили формулы, которые используются при работе нейронов

  3. Написали класс нейрона на языке программирования Python

Если вам было что-то не понятно задавайте вопросы в комментариях.

Подробнее..

Искусственные нейронные сети. Часть 2

16.02.2021 04:11:35 | Автор: admin

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

В этой части мы изучим принципы работы нейронных сетей и напишем нейронную сеть из 2 слоев.

Нейронные сети состоят из связанных между собой нейронов.

Подробнее о нейронах я писал в предыдущей части.

Нейронные сети делятся на слои:

  1. Входной слой

  2. Скрытые слои

  3. Выходной слой

Скрытые слои это слои между входным и выходным, количество скрытых слоев может быть любым.

Мы напишем нейронную сеть из 2 слоев, входного и выходного слоев.

Вначале разберем принципы работы нейронных сетей.

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

Схема нейронной сети из 3 слоев с 2 нейронами на входе, 3 скрытыми, 1 выходным будет выглядеть так

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

В итоге у нас получилось 3 слоя и 6 нейронов.

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

Схема для нашей нейронной сети

Создадим файл NeuronNet.py

Подключим класс нейрона который писали в прошлой части:

from Neuron import *

Опишем в файле класс NeuronNet и конструктор для него:

class NeuronNet:    def __init__(self):            self.n = []                for i in range(3):            self.n.append(Neuron(2))

В конструкторе класса создается массив из объектов класса Neuron размером в 3 нейрона. Нейрону передаем в параметры число 2, так как входов для всех нейронов будет по 2.

Для работы нейронной сети нам надо запустить функцию активации нейронов, запустить функцию активации 3 нейрона и передать ему выходы из 1 и 2 нейрона, на вход 1 и 2 нейрону передаем входные данные полученные от пользователя:

def activate(self, inputs):    return self.n[2].activate(np.array([self.n[0].activate(inputs), self.n[1].activate(inputs)]))

В итоге у нас получился класс NeuronNet. Который мы записали в файл NeuronNet.py.

Полное содержание NeuronNet.py:

from Neuron import *class NeuronNet:    def __init__(self):        self.n = []        for i in range(3):            self.n.append(Neuron(2))    def activate(self, inputs):        return self.n[2].activate(np.array([self.n[0].activate(inputs), self.n[1].activate(inputs)]))

Теперь создадим файл main.py, чтобы проверить работоспособность нашей нейронной сети.

Подключим к файлу main.py библиотеку numpy и наш файл NeuronNet.py:

import numpy as npfrom NeuronNet import *

Создадим объект нейронной сети:

net = NeuronNet()

Объявим массив с входными данными и передадим его в нейронную сеть:

x = np.array([1, 2])print(net.activate(x))

Полное содержание файла:

import numpy as npfrom NeuronNet import *net = NeuronNet()x = np.array([1, 2])print(net.activate(x))

Теперь запустим наш код. Введем в консоль:

python main.py

Вывод программы

Запустим еще раз

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

Подведем итоги.

Сегодня мы:

  1. Узнали принципы работы нейронных сетей

  2. Выучили принципы связи нейронов в нейронных сетях

  3. Написали класс NeuronNet на языке программирования python

  4. Запустили свою первую нейронную сеть

В следующей части мы реализуем обучение нашей нейронной сети.

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

Подробнее..

Искусственные нейронные сети. Часть 3

17.02.2021 00:12:38 | Автор: admin

Обучение нейронной сети

В данной части статьи по разработке простейшей нейронной сети мы научимся обучать нейронные сети.

Мы обучим нейросеть решать задачу по нахождении закономерности в ряде чисел. Для простоты это будут числа 0 и 1.

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

Данные для обучения выглядят так

Условие

Ответ

1

0

1

0

0

0

0

1

0

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

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

Решение этой задачи это первое введённое число.

В качестве условия задачи которую должна решить нейронная сеть выглядит так

Условие

Ответ

1

1

1

Обучение нейронной сети это уменьшение потерь.

Чем меньше потерь тем лучше и правильнее результат.

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

Для обучения нам понадобится производнаясигмоиды.

Что такое производная вы сможете посмотреть в википедии, а производнаясигмоидывыглядит так:

f`(x)=\frac{e^{-x}}{(1 + e^{-x})^2}=f(x) * (1-f(x))

Реализация на Python выглядит так:

def deriv_sig(x):    return sig(x) * (1 - sig(x))

Запишем этот код в файл Math.py

Так же для обучения нам нужно 2 константы:

rate - скорость обучения
count_learn - количество повторений обучения

Чем больше count_learn тем лучше обучится нейронная сеть, но потребуется больше времени на обучение. А с rate все понятно.

Присвоим константам значения:

rate = 0.1
count_learn = 10000

После объявления констант, запускаем цикл от 0 до count_learn, внутри цикла запустим еще один цикл который будет выполняться столько раз, сколько входных данных для обучения у нас есть.

После этого будет сложная математика, поэтому дам вам просто код:

def learn(self, inputs, answers):                rate = 0.1        count_learn = 10000        for o in range(count_learn):            for inputt, answer in zip(inputs, answers):                sum_n1 = self.n[0].w[0] * inputt[0] + self.n[0].w[1] * inputt[1] + self.n[0].b                n1 = sig(sum_n1)                sum_n2 = self.n[1].w[0] * inputt[0] + self.n[1].w[1] * inputt[1] + self.n[1].b                n2 = sig(sum_n2)                sum_n3 = self.n[2].w[0] * n1 + self.n[2].w[1] * n2 + self.n[2].b                n3 = sig(sum_n3)                out_res = n3                err = -2 * (answer - out_res)                err_rate = rate * err                deriv_sig_n1 = deriv_sig(sum_n1)                deriv_sig_n2 = deriv_sig(sum_n2)                deriv_sig_n3 = deriv_sig(sum_n3)                self.n[0].w[0] -= err_rate * self.n[2].w[0] * deriv_sig_n3 * inputt[0] * deriv_sig_n1                self.n[0].w[1] -= err_rate * self.n[2].w[0] * deriv_sig_n3 * inputt[1] * deriv_sig_n1                self.n[0].b -= err_rate * self.n[2].w[0] * deriv_sig_n3 * deriv_sig_n1                self.n[1].w[0] -= err_rate * self.n[2].w[1] * deriv_sig_n3 * inputt[0] * deriv_sig_n2                self.n[1].w[1] -= err_rate * self.n[2].w[1] * deriv_sig_n3 * inputt[1] * deriv_sig_n2                self.n[1].b -= err_rate * self.n[2].w[1] * deriv_sig_n3 * deriv_sig_n2                self.n[2].w[0] -= err_rate * n1 * deriv_sig_n3                self.n[2].w[1] -= err_rate * n2 * deriv_sig_n3                self.n[2].b -= err_rate * deriv_sig_n3

Запишем эту функцию в класс NeuronNet.

В итоге файл NeuronNet.py выглядит так:

from Neuron import *class NeuronNet:    def __init__(self):        self.n = []        for i in range(3):            self.n.append(Neuron(2))    def activate(self, inputs):        return self.n[2].activate(np.array([self.n[0].activate(inputs), self.n[1].activate(inputs)]))    def learn(self, inputs, answers):                rate = 0.1        count_learn = 10000        for o in range(count_learn):            for inputt, answer in zip(inputs, answers):                sum_n1 = self.n[0].w[0] * inputt[0] + self.n[0].w[1] * inputt[1] + self.n[0].b                n1 = sig(sum_n1)                sum_n2 = self.n[1].w[0] * inputt[0] + self.n[1].w[1] * inputt[1] + self.n[1].b                n2 = sig(sum_n2)                sum_n3 = self.n[2].w[0] * n1 + self.n[2].w[1] * n2 + self.n[2].b                n3 = sig(sum_n3)                out_res = n3                err = -2 * (answer - out_res)                err_rate = rate * err                deriv_sig_n1 = deriv_sig(sum_n1)                deriv_sig_n2 = deriv_sig(sum_n2)                deriv_sig_n3 = deriv_sig(sum_n3)                self.n[0].w[0] -= err_rate * self.n[2].w[0] * deriv_sig_n3 * inputt[0] * deriv_sig_n1                self.n[0].w[1] -= err_rate * self.n[2].w[0] * deriv_sig_n3 * inputt[1] * deriv_sig_n1                self.n[0].b -= err_rate * self.n[2].w[0] * deriv_sig_n3 * deriv_sig_n1                self.n[1].w[0] -= err_rate * self.n[2].w[1] * deriv_sig_n3 * inputt[0] * deriv_sig_n2                self.n[1].w[1] -= err_rate * self.n[2].w[1] * deriv_sig_n3 * inputt[1] * deriv_sig_n2                self.n[1].b -= err_rate * self.n[2].w[1] * deriv_sig_n3 * deriv_sig_n2                self.n[2].w[0] -= err_rate * n1 * deriv_sig_n3                self.n[2].w[1] -= err_rate * n2 * deriv_sig_n3                self.n[2].b -= err_rate * deriv_sig_n3

А Math.py выглядит так:

import numpy as npdef sig(x):    return 1 / (1 + np.exp(-x)) def deriv_sig(x):    return sig(x) * (1 - sig(x))    

Теперь запустим нашу нейронную сеть и обучение.

Допишем в файл main.py массив с данными для обучения и правильными ответами:

learn_inputs = np.array([[1, 0], [0, 0], [0, 1]])learn_answers = np.array([1, 0, 0])

Далее запустим обучение:

net.learn(learn_inputs, learn_answers)

И запустим нашу нейронную сеть подав ей задачу которую надо решить:

x = np.array([1, 1])if (net.activate(x) < 0.5):    print("0")else:    print("1")

В итоге main.py выглядит так:

import numpy as npfrom NeuronNet import *net = NeuronNet()learn_inputs = np.array([[1, 0], [0, 0], [0, 1]])learn_answers = np.array([1, 0, 0])net.learn(learn_inputs, learn_answers)x = np.array([1, 1])if (net.activate(x) < 0.5):    print("0")else:    print("1")

Теперь запустим программу введя в консоль:

python main.py

после запуска нейронная сеть выводит

Теперь обновим входные данные, вместо

Условие

Ответ

1

1

1

Зададим другую задачу

Условие

Ответ

0

1

0

При изменении входных данных результат программы выглядит так

Теперь подведем итоги.

В серии статей по искусственным нейронным сетям мы изучили

  1. Принципы работы искусственных нейронов

  2. Принципы работы нейронных сетей

  3. Принципы обучения нейронных сетей

  4. Написали свою нейронную сеть

Эта часть статьи была последней.

Итоговый код нейронной сети вы сможете найти на моей странице в github: https://github.com/AndreiShalupaey/PyNeuronNet

Если вы хотите изучить математические формулы для обучения нейронных сетей, прочитайте данную статью: https://proglib.io/p/pishem-neyroset-na-python-s-nulya-2020-10-07

Подробнее..

Бесплатный вебинар Основы ИИ

07.04.2021 10:06:45 | Автор: admin
13 апреля 2021, на русском с субтитрами на русском.13 апреля 2021, на русском с субтитрами на русском.

Откройте для себя решения, которые можно создавать с помощью ИИ, и сервисы Azure, помогающие в разработке этих решений. Присоединяйтесь к нам на бесплатном мероприятии Microsoft Azure Virtual Training Day: основы ИИ, чтобы получить общее представление о том, что такое ИИ, и узнать, как начать работу с ИИ в Azure.

Подробности и регистрация

Посетите виртуальное обучающее мероприятие, чтобы:

  • Изучить основные концепции и области применения ИИ.

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

  • Подробнее узнать о разговорном ИИ, обработке естественного языка и компьютерном зрении в Microsoft Azure.

После завершения этого бесплатного обучающего курса вы сможете сдатьсертификационный экзамен по основам Microsoft Azure AIбесплатно.

Вот, что мы вам предлагаем:

  • Введение

  • Введение в ИИ

  • Машинное обучение

  • Перерыв 10минут

  • Компьютерное зрение

  • Перерыв 10минут

  • Обработка естественного языка

  • Виртуальный собеседник

  • Завершающий сеанс вопросов и ответов

Подробности и регистрация

Подробнее..

Перевод Наглядно о том, почему трансформеры работают настолько хорошо

20.06.2021 18:15:44 | Автор: admin

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


Как входная последовательность попадает в модуль внимания

Модуль внимания присутствует в каждом энкодере внутри стека каждого энкодера, а также внутри стека каждого декодера. Сначала внимательно посмотрим на энкодер.

Модуль внимания в энкодереМодуль внимания в энкодере

Для примера предположим, что мы работаем над задачей перевода с английского на испанский, где исходная последовательность слов The ball is blue, а целевая последовательность La bola es azul.

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

Внутри модуля внимания последовательность векторного представления проходит через три линейных слоя, создающих три отдельные матрицы запроса (Query), ключа (Key) и значения (Value). Именно эти три матрицы используются для вычисления оценки внимания [прим. перев. оценка определяет, сколько внимания нужно уделить другим частям входного предложения, когда мы кодируем слово в определённой позиции]. Важно помнить, что каждая "строка" этих матриц соответствует одному слову исходной последовательности.

Поток исходной последовательностиПоток исходной последовательности

Каждая входная строка это слово из последовательности

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

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

Расположение каждого слова в исходной последовательностиРасположение каждого слова в исходной последовательности

Каждое слово проходит серию обучаемых преобразований (трансформаций)

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

Линейные веса и веса векторного представления обученыЛинейные веса и веса векторного представления обучены

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

Оценка внимания это скалярное произведение матрицы ключа и матрицы запроса слов

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

Многоголовое вниманиеМногоголовое вниманиеРасчёт оценки вниманияРасчёт оценки внимания

Как видно из формулы, первый шаг в рамках модуля внимания умножение матрицы, то есть скалярное произведение между матрицей Query (Q) и транспонированием матрицы ключа Key (K). Посмотрите, что происходит с каждым словом. Итог промежуточная матрица (назовём её факторной матрицей [матрицей множителей]), где каждая ячейка это результат матричного умножения двух слов.

Скалярное произведение матрицы запроса и матрицы ключаСкалярное произведение матрицы запроса и матрицы ключа

Например, каждый столбец в четвёртой строке соответствует скалярному произведению между четвёртым словом запроса и каждым ключевым словом.

Скалярное произведение между матрицами запроса и ключаСкалярное произведение между матрицами запроса и ключа

Оценка внимания скалярное произведение между запросом-ключом и значением слов

Следующим шагом является матричное умножение между этой промежуточной матрицей множителей и матрицей значений (V), чтобы получить оценку внимания, который выводится модулем внимания. Здесь мы можем видеть, что четвёртая строка соответствует четвёртой матрице слов запроса, умноженной на все остальные ключевые слова и значения.

Скалярное произведение между матрицами ключа запроса и значенияСкалярное произведение между матрицами ключа запроса и значения

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

Оценка внимания это взвешенная сумма значения словОценка внимания это взвешенная сумма значения слов

Какова роль слов запроса, ключа и значения?

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

Оценка внимания для слова blue обращает внимание на каждое словоОценка внимания для слова blue обращает внимание на каждое слово

Например, для предложения The ball is blue строка для слова blue будет содержать оценку внимания для слова blue с каждым вторым словом. Здесь blue это слово запроса, а другие слова ключ/значение. Выполняются и другие операции, такие как деление и softmax, но мы можем проигнорировать их в этой статье. Они просто изменяют числовые значения в матрицах, но не влияют на положение каждой строки слов в ней. Они также не предполагают никаких взаимодействий между словами.

Скалярное произведение сообщает нам о сходстве слов

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

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

Каждая ячейка представляет собой скалярное произведение двух векторов словКаждая ячейка представляет собой скалярное произведение двух векторов слов

Для получения скалярного произведения двух векторов мы умножаем пары чисел, а затем суммируем их.

  • Если два парных числа (например, a и d выше) оба положительны или оба отрицательны, произведение положительно. Произведение увеличит итоговую сумму.

  • Если одно число положительное, а другое отрицательное, произведение будет отрицательным. Произведение уменьшит итоговую сумму.

  • Если произведение положительное, то, чем больше два числа, тем больше их вклад в окончательную сумму.

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

Как трансформер изучает релевантность между словами?

Скалярное произведение также применимо к оценке внимания. Если векторы для двух слов более выровнены, оценка внимания будет выше. Итак, какого поведения мы хотим от трансформера? Мы хотим, чтобы оценка внимания была высокой для двух релевантных друг другу слов в предложении. И мы хотим, чтобы оценка двух слов, не связанных друг с другом, была низкой.

Например, в предложении The black cat drank the milk слово milk очень релевантно к drank, возможно, немного менее релевантно для cat, и нерелевантно к black. Мы хотим, чтобы milk и drink давали высокую оценку внимания, чтобы milk и cat давали немного более низкую оценку, а для milk и black незначительную. Мы хотим, чтобы модель научилась воспроизводить этот результат. Чтобы достичь воспроизводимости, векторы слов milk и drank должны быть выровнены. Векторы milk и cat несколько разойдутся. А для milk и black они будут совершенно разными.

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

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

Следовательно, векторные представления слов milk и drank будут очень согласованными и обеспечат высокую оценку внимания. Они будут несколько отличаться для milk и cat, производить немного более низкую оценку и будут совершенно разными в случае milk и black: оценка внимания будет низкой вот лежащий в основе модуля внимания принцип.

Итак, как же работает трансформер?

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

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

Самовнимание энкодера в трансформере

Внимание используется в трансформере в трёх местах:

  • Самовнимание в энкодере исходная последовательность обращает внимание на себя.

  • Самовнимание в декодере целевая последовательность обращает внимание на себя.

  • Энкодер-декодер-внимание в декодере целевая последовательность обращает внимание на исходную последовательность.

Внимание в ТрансформереВнимание в Трансформере

В самовнимании энкодера мы вычисляем релевантность каждого слова в исходном предложении каждому другому слову в исходном предложении. Это происходит во всех энкодерах стека.

Декодер самовнимания в трансформере

Большая часть того, что мы только что видели в энкодере самовнимания, применима и к вниманию в декодере, но с некоторыми существенными отличиями.

Внимание в декодереВнимание в декодере

В декодере самовнимания мы вычисляем релевантность каждого слова в целевом предложении каждому другому слову в целевом предложении.

Самовнимание декодераСамовнимание декодера

Энкодер-декодер модуля внимания в трансформере

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

Энкодер-декодер ВниманияЭнкодер-декодер Внимания

Заключение

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

Здесь мы видим, что за сложными идеями скрываются простые решения. Более того, есть ощутимая вероятность того, что вскоре понимание внутренних механизмов глубокого обучения станет второй грамотностью, как сегодня второй грамотностью стало знание ПК в целом и если вы хотите углубиться в область глубокого и машинного обучения, получить полное представление о современном ИИ, вы можете присмотреться к нашему курсу Machine Learning иDeep Learning, партнёром которого является компания NVIDIA.

Узнайте, как прокачаться и в других специальностях или освоить их с нуля:

Другие профессии и курсы
Подробнее..

OpenAI SkyNet от Илона Маска. Разбор

17.05.2021 18:06:47 | Автор: admin
Три закона робототехники Айзека Азимова:

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

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

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


Сегодня, на примере еще одного стартапа Илона Маска, под названием OpenAI, мы с вами посмотрим насколько далеко от нас реальный SkyNet и расскажем вам о том, в каком состоянии находится разработка ИИ в принципе прямо сейчас.

Сегодня мы с вами узнаем может ли робот написать симфонию или нарисовать шедевр?

Что такое ИИ?


Для начала давайте поймем, что такое искусственный интеллект?

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

В принципе само понятие ИИ это скорее философское понятие. Мы никогда не увидим громких заголовков, вроде Изобретён Искусственный Интеллект!, человечество будет идти к нему медленно, но уверенно.



К сожалению, нет абсолютно точного определения, что такое искусственный интеллект, но есть тест. Знаменитый тест Алана Тьюринга, который он описал в 1950 году в философском журнале Mind. Суть теста заключается в том, что человеку и компьютеру задаются различные вопросы, а третий человек слушает их ответы. Главное, что человек слушающий ответы не знает, кто именно отвечает и, если у компьютера получилось обмануть человека, то считается, что компьютер победил и прошел тест Тьюринга.

Этот тест был впервые пройден компьютером в 2014 году. Специальная программа Eugene, или Женя Густман, с использованием пяти суперкомпьютеров, смогла обмануть 33% собеседников, что превысило необходимые 30% для прохождение порога.



Кстати, тест Тьюринга работает в две стороны. Есть и обратный тест, тест на человека, и его наверняка проходил каждый смотрящий это видео это знаменитая Captcha Completely Automated Public Turing test to tell Computers and Humans Apart или по-русски полностью автоматизированный публичный тест Тьюринга для различения компьютеров и людей.

И казалось бы, тест пройден, вот он искусственный интеллект, но на самом деле все гораздо сложнее.

В общем, есть два подхода к созданию ИИ:

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

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

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

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

Что сейчас?


О современном состоянии ИИ сказать не просто. Ведь есть множество областей, где нейронные сети и ИИ применяются очень активно. Хорошим примером является автопилот машин Tesla!

А есть области, где только планируется начать активное внедрение, и тут можно вспомнить о медицине. Только подумайте нейронная сеть, которая может в автоматическом режиме производить анализ результатов и давать советы по лечению, например, обработка рентгеновских снимков или анализы крови!

Вообще за последние пять лет интерес к области искусственного интеллекта вырос более чем в 3 раза, а количество стартапов только в период с 2015 до 2018 год выросло на 113 процентов.



А поскольку это очень активно развивающаяся область, то и количество ежегодных научных публикаций за последние 20 лет выросло раз в 8!



Огромным скачком стало и развитие нейронных модулей в процессорах, и рост инвестиций в эту область огромный!



В общем, вы поняли развитие области не просто идет, оно летит вверх!

И знаете, что самое интересное? На вопрос героя Уилла Смита о том может ли робот написать симфонию, уже можно ответить Да, может!

OpenAI


Илон Маск и еще 5 инвесторов в 2015 году организовали стартап под названием OpenAI, основная суть которого была в том, чтобы увеличить контроль над развитием и созданием ИИ.

Основатели OpenAI говорили о ней именно как о некоммерческой организации, которая не связана финансовыми обязательствами акционеров, чтобы исследователи могли сосредоточить свои силы на создании положительного воздействия ИИ на человека.

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

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

Вы наверное помните новость о том, что нейронная сеть обыграла команду OG, чемпионов International 2018 и 2019 годов в DOTA 2! Так вот эта нейронная сеть была создана командой OpenAI. Билл Гейтс тогда написал, что это очень важное событие, так как игра требует сложного командного взаимодействия.



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

Только послушайте примеры! В принципе, большинство современных рэп-исполнителей больше не нужны.

А как вам нейросеть DALLE, которая способна просто по текстовому описанию, рисовать картинки? Она способна сама понимать контекст написанного, например человек задает a collection of glasses sitting on the table и давайте посмотрим, что выдает нейронная сеть?

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





Но как это стало возможным? Все благодаря специальному обучению алгоритма обработки естественного языка, под названием GPT-3.Это третья версия алгоритма представленная в 2020 году. Первая была анонсирована в 2018, для обучения которой была использована текстовая база в 5 Гигабайт, вторая версия спустя год уже изучила 40 гигабайт, а третья использовала базу в 500 ГБ текстов, данных, и 175 миллиардов различных параметров.

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

Как же это работает?


На входе мы спрашиваем у программы вопрос! То есть мы фактически просим робота понять, что мы только что у него спросили и выдать нам ответ.

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

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

hsto.org/webt/32/w2/bu/32w2bu4fmycoja-kapw6juep9oa.gif

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



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

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



И вы спросите а какие перспективы? Они огромные. Фактически GPT-3 способна решать любые задачи на английском языке уже сейчас. И не только

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

А в середине 2020 года произошло что-то совсем странное. Microsoft выкупила эксклюзивные права на тот алгоритм GPT-3, что также подверглось жесткой критике со стороны Маска и сообщества.



Конечно, в самой компании заявили, что это никак не повлияет на доступ независимых разработчиков к GPT-3 через API компании, но определенно все эти новости вызывают недоверие и опасения.

Вывод




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

А скажите 15 лет назад кому-то, что автомобили самосто смогут самостоятельно безопасно ездить по улицам городов, на вас бы вообще как на сумасшедшего посмотрели!

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

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

А как мы с вами знаем даже всесильные три закона робототехники, легко обходятся!
Подробнее..

Дискриминация в алгоритмах ML существует и нет, это не либеральные сказки

26.03.2021 18:19:00 | Автор: admin

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

Давайте расскажем вам как именно.

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

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

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

Так какая предвзятость (bias) есть в алгоритмах машинного обучения?

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

  • Хороший пример необъективности распознавания естественного языка (NLP) можно увидеть в социальных сетях: твиты, написанные афроамериканцами, в среднем отмечены алгоритмами ИИ как оскорбительные (хотя на самом деле таковыми не являются, показатель false positive) в 1,5 раза чаще, чем такие же твиты белых.

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

Почему эти признаки необъективности существуют?

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

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

  • Использование данных, которые навязывают стереотип привязанности одного из полов к ряду обязанностей или занятий. Некоторые модели глубинного обучения связывают мужчину с доктором, а женщину с медсестрой из-за вектора представления слов, отображающего социальные стереотипы (word embedding).

  • Использование данных, которым не хватает разнообразия. Да, той самой любимой дайвёрсити. Многие модели распознавания лиц обучаются на данных, которые включают больше белых людей, чем черных. Исследование Тимнит Гебру и Джой Буоламвини показало, что 3 инструмента для распознавания лиц от крупных технологических компаний смогли почти идеально определить пол белых мужчин, а темнокожих женщин определили неверно в 35% случаев. Это может привести к очень серьезным ошибкам правоохранительных органов.

Откуда мы знаем о существовании этой предвзятости?

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

Какие возможные способы решения этой проблемы существуют?

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

  • Ликвидация необъективности наборов данных, используемых моделями это влечёт за собой удаление существующих наборов данных, содержащих стереотипные данные, и создание репрезентации и дайверсити в них, в попытках сделать их более точными.

  • Устранение необъективности моделей. Это влечёт за собой изменение фактических векторных представлений слов для удаления стереотипной привязки (мужчина = доктор, и женщина = медсестра) при сохранении нужной гендерной информации (мужчина = король, и женщина = королева).

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

Подробнее..

Евросоюз хочет ограничить использование ИИ и систем распознавания лиц в угоду приватности

22.04.2021 02:17:37 | Автор: admin
Чиновники Евросоюза планируют ограничить использование распознавания лиц полицией и полностью запретить определённые типы систем искусственного интеллекта (ИИ). Это станет одним из самых значительных попыток наложить ограничения на применение ИИ.

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

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

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

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

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

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

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

Перевод ИИ все еще не умеет модерировать хейт-спич

18.06.2021 22:18:25 | Автор: admin

Но ученые научились определять, где система дает сбой.

MS TECH | GETTY, UNSPLASHMS TECH | GETTY, UNSPLASH

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

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

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

18 категорий ненависти

Исследование вели ученые из Оксфордского университета и Института Алана Тьюринга. Авторы опросили сотрудников некоммерческих организаций, занимающихся проблемами ненависти в сети. Команда использовала эти интервью для создания таксономии 18 различных типов ненавистнических высказываний, сосредоточив внимание только на письменном английском. В список включили уничижительную речь, оскорбления и угрозы.

Исследователи также определили 11 сценариев, не несущих ненавистнического посыла, которые обычно сбивают с толку автомодераторов. Сюда вошли в том числе:

  • использование ненормативной лексики в безобидных заявлениях;

  • оскорбления, которые адресаты высказываний сами стали использовать в отношении себя (прим. пер. т.н. реклейминг);

  • осуждающие ненависть высказывания с цитатами и отсылками на исходные сообщения (противодействие ненависти).

Для каждой из 29 различных категорий исследователи написали десятки примеров и использовали шаблонные предложения, такие как Я ненавижу [ИДЕНТИЧНОСТЬ] или Вы для меня просто [РУГАТЕЛЬСТВО].

Одинаковые наборы примеров были созданы для семи групп, защищенных законодательством США от дискриминации. Команда открыла исходный код окончательного набора данных под названием HateCheck. Набор содержит почти 4000 примеров.

Сервисы по борьбе с токсичностью

Исследователи протестировали два популярных сервиса: Perspective API разработки Google Jigsaw и SiftNinja от Two Hat. Оба позволяют клиентам отмечать нарушающий контент в сообщениях или комментариях. В частности, Perspective используется для фильтрации контента на Reddit, а также новостными организациями, включая The New York Times и Wall Street Journal. Алгоритм отмечает и приоритезирует токсичные сообщения, чтобы их потом проверяли люди.

Из двух сервисов SiftNinja относится к разжиганию ненависти слишком снисходительно, не замечая почти все ее вариации. В то же время Perspective модерирует слишком жестко. Он успешно определяет большинство из 18 категорий ненависти, но видит ее также в цитатах и контраргументах. Исследователи нашли те же закономерности, протестировав две научные модели от Google. Эти модели вершина доступных языковых ИИ-технологий и, скорее всего, служат основой для других коммерческих систем модерации контента.

Результаты указывают на один из наиболее сложных аспектов ИИ-обнаружения ненавистнических высказываний. Если модерировать недостаточно, вы не решаете проблему. А если перестараться, то можете подвергнуть цензуре тот язык, который маргинализированные группы используют для самозащиты. Внезапно вы наказываете те самые сообщества, которые чаще всего и становятся объектами ненависти, отмечает Пол Реттгер, кандидат наук в Оксфордском институте Интернета и соавтор статьи.

Люси Вассерман, ведущий инженер-программист Jigsaw, говорит, что Perspective преодолевает ограничения, но полагается на людей-модераторов для принятия окончательного решения. Процесс не масштабируется для более крупных платформ. Сейчас Jigsaw работает над функционалом, который изменяет приоритеты публикаций и комментариев в зависимости от неопределенности. Система автоматически удаляет контент, который, как она считает, является ненавистническим, а сомнительные случаи показывает людям.

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

Ученые тоже воодушевлены исследованием. Это дает нам хороший чистый ресурс для оценки работы систем, говорит Маартен Сап, исследователь языкового ИИ из Вашингтонского университета. Новый подход позволяет компаниям и пользователям ожидать улучшений.

Томас Дэвидсон, доцент социологии университета Рутгерса, согласен. По его словам, из-за ограничения языковых моделей и сложности языка всегда будет существовать компромисс между недооценкой и чрезмерной идентификацией ненавистнических высказываний. Набор данных HateCheck проливает свет на эти компромиссы, добавляет он.

Перевод:Александра Галяутдинова

Другие публикации Карен Хао в переводе Madrobots

***

Для читателей Хабрав магазине гаджетов Madrobotsдействует скидка 5% на все продукты. Просто введите промокод:HABR

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru