Как стать автором
Обновить
23
0

Пользователь

Отправить сообщение

Почему алгоритмы ML так трудно настраивать?

Время на прочтение9 мин
Количество просмотров4.3K


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

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

Приятного чтения!
Всего голосов 13: ↑10 и ↓3+7
Комментарии4

Как воскресить раннюю электронную музыку с помощью Arduino?

Время на прочтение7 мин
Количество просмотров5.8K

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

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

Приятного чтения!
Всего голосов 11: ↑11 и ↓0+11
Комментарии1

Как избежать «парадокса убитого дедушки» или Квантовая механика решает загадки путешествия во времени

Время на прочтение7 мин
Количество просмотров23K

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

Эта дилемма, известная как «парадокс убитого дедушки», отражает главное возражение философов и физиков против путешествий во времени – возможное нарушение причинности. В то время как само путешествие во времени остаётся в области чистой спекуляции, возможные результаты нарушения принципа причинности и то, как природа может предотвратить их, являются горячо обсуждаемыми темами, с  такими известными физиками и философами, как Стивен Хокинг и Кип Торн, размышляющими о возможных решениях. Возможно ли, что «многомировая» интерпретация квантовой механики может спасти несчастного (и неуклюжего) путешественника во времени?

Приятного чтения!
Всего голосов 19: ↑15 и ↓4+11
Комментарии30

Как классифицировать мусор с помощью Raspberry Pi и машинного обучения Arm NN

Время на прочтение11 мин
Количество просмотров4.5K


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

Производительность таких решений сильно зависит от пропускной способности сети и задержки. Кроме того, отправка данных внешнему сервису может привести к проблемам с конфиденциальностью. В этой статье демонстрируется возможность переноса ИИ из облачной среды на периферию. Чтобы продемонстрировать ML с использованием периферийных ресурсов, мы будем использовать API-интерфейсы Arm NN для классификации изображений мусора с веб-камеры, подключённой к компьютеру Raspberry Pi, который покажет результаты классификации.

Приятного чтения!
Всего голосов 8: ↑8 и ↓0+8
Комментарии0

Как распознать рукописный текст с помощью ИИ на микроконтроллерах

Время на прочтение12 мин
Количество просмотров7.4K


Распознавание рукописных цифр с помощью TensorFlow и MNIST стало довольно распространённым введением в искусственный интеллект (ИИ) и ML. «MNIST» — это база данных, которая содержит 70 000 примеров рукописных цифр. Она широко используется как источник изображений для обучения систем обработки изображений и программного обеспечения для машинного обучения.

Хотя учебные пособия по ML с использованием TensorFlow и MNIST стали привычными, до недавнего времени они обычно демонстрировались в полнофункциональных средах обработки с архитектурой x86 и графическими процессорами класса рабочих станций. Однако сегодня можно создать полнофункциональное приложение для распознавания рукописного ввода MNIST даже на 8-разрядном микроконтроллере. Чтобы продемонстрировать это, мы собираемся создать полнофункциональное приложение для распознавания рукописного ввода MNIST, используя TensorFlow Lite для получения результатов ИИ на маломощном микроконтроллере STMicroelectronics на базе процессора ARM Cortex M7.

Приятного чтения!
Всего голосов 18: ↑18 и ↓0+18
Комментарии12

Хабравыжимка #1: Софт скилы для разработчика

Время на прочтение9 мин
Количество просмотров19K
Современный специалист подобен швейцарскому ножу — владения только одним навыком всегда будет недостаточно. Но если с хард-скилами более-менее понятно, для каждой специальности они известны, то с софт скилами всё не так очевидно. Но мы же на Хабре — тут пишут про всё, правда, в этом потоке контента несложно и запутаться. Поэтому, чтобы облегчить жизнь всем и составить представление о том, какие же «мягкие навыки» наиболее актуальны, я собрал подборку лучших постов про них. А помогли мне в этом руководитель Центра карьеры SkillFactory Юлия Пушкина и наш карьерный консультант Эльмира Салимова.


Приятного чтения!
Всего голосов 29: ↑21 и ↓8+13
Комментарии40

10 полезных книг: от разработчиков и для разработчиков

Время на прочтение5 мин
Количество просмотров26K
Чтение книг — по-прежнему прекрасный способ открыть нечто новое или научиться чему-то, особенно если вы разработчик, чтобы оставаться востребованным в изменчивой индустрии.
В этой подборке я представлю 10 фантастических книг для разработчиков, которые написали разработчики. Здесь не будет привычных общепринятых книг, которые вы найдете в любой подборке «мастрид для программистов», в этой статье — вручную отобранные сокровища от экспертов с проверенным послужным списком.


Приятного чтения!
Всего голосов 47: ↑31 и ↓16+15
Комментарии9

Строим надёжную конкурентность с FSP и моделированием процессов

Время на прочтение5 мин
Количество просмотров1.9K

Делаем систему параллелизма надёжнее


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

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


Сгенерированная инструментом LTSA диаграмма состояний
Приятного чтения!
Всего голосов 21: ↑21 и ↓0+21
Комментарии0

Как преобразовать аудиоданные в изображения

Время на прочтение5 мин
Количество просмотров12K

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


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

Сегодня, специально к старту нового потока курса по машинному обучению делюсь с вами статьей, в которой авторы, в качестве примера определяют вид птиц по их пению. Они находят в записях, сделанных в естественных условиях, фрагменты с пением птиц, и классифицируют виды. Преобразовав аудиоданные в данные изображений и применив модели компьютерного зрения, авторы этой статьи получили серебряную медаль (как лучшие 2 %) на соревновании Kaggle Cornell Birdcall Identification.


Приятного чтения!
Всего голосов 30: ↑25 и ↓5+20
Комментарии6

Искусство компонентов. Пишем карточку контакта Facebook Messenger

Время на прочтение12 мин
Количество просмотров8.6K
Вполне возможно оценить компонент и сказать, что он легко пишется на HTML и CSS. Соглашусь, это легко, когда вы работаете, только чтобы практиковаться, но в реальном проекте всё по-другому. Идеальный адаптивный компонент, который вы только что создали, быстро перестаёт работать, когда сталкивается с реальным контентом настоящего проекта. Почему? Потому, что, пока вы рассуждаете о разработке компонента, вы можете упустить крайние случаи. Сегодня, специально к старту нового потока нашего курса по веб-разработке, поделюсь переводом статьи, в которой показан простой на первый взгляд компонент, за которым стоит огромная работа. Ради реалистичности это будет пример прямо из Facebook Messenger.


Приятного чтения!
Всего голосов 25: ↑23 и ↓2+21
Комментарии7

12 платформ соревнований по Data Science и искусственному интеллекту для развития ваших навыков в 2021 году

Время на прочтение8 мин
Количество просмотров22K
Data Science требует использования статистических методов и алгоритмов машинного обучения для работы с большим объёмом данных, и для того чтобы делать это эффективно, вам потребуется много практики. Отличная возможность попрактиковаться — соревнования по Data Science. Они служат платформой для изучения лучших практик, получения отзывов и повышения квалификации. Это также отличный способ расширить возможности творить и границы в области науки о данных. Я делал подобный список и в прошлом году, поэтому подумал, что это будет хорошее время, чтобы обновить его на 2021 год.


Приятного чтения!
Всего голосов 27: ↑27 и ↓0+27
Комментарии1

Как обучать огромные модели машинного обучения на случайных GPU

Время на прочтение11 мин
Количество просмотров9.1K
Вы можете спросить: почему эти полумагические модели машинного обучения работают так хорошо? Короткий ответ: эти модели чрезвычайно сложны и обучаются на огромном количестве данных. На самом деле, Lambda Labs недавно подсчитала, что для обучения GPT-3 на одном GPU потребовалось бы 4,6 миллиона долларов — если бы такое было возможно.

Такие платформы, как PyTorch и Tensorflow, могут обучать эти огромные модели, потому что распределяют рабочую нагрузку по сотням (или тысячам) GPU одновременно. К сожалению, этим платформам требуется идентичность графических процессоров (они должны иметь одинаковую память и вычислительную производительность). Но многие организации не имеют тысячи одинаковых GPU. Малые и средние организации покупают разные компьютерные системы, что приводит к неоднородной инфраструктуре, которую нелегко адаптировать для вычисления больших моделей. В этих условиях обучение моделей даже среднего размера может занимать недели или даже месяцы. Если не принять меры, университеты и другие небольшие организации рискуют потерять конкурентоспособность в погоне за разработкой новых, лучших моделей машинного обучения. Но это можно исправить.

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


Приятного чтения!
Всего голосов 23: ↑23 и ↓0+23
Комментарии0

Анимации градиентного спуска и ландшафта потерь нейронных сетей на Python

Время на прочтение12 мин
Количество просмотров12K
Во время изучения различных алгоритмов машинного обучения я наткнулся на ландшафт потерь нейронных сетей с их горными территориями, хребтами и долинами. Эти ландшафты потерь сильно отличались от выпуклых и гладких ландшафтов потерь, с которыми я столкнулся при использовании линейной и логистической регрессий. Здесь мы создадим ландшафты потерь нейронных сетей и анимированного градиентного спуска с помощью датасета MNIST.


Рисунок 1 — Ландшафт потерь свёрточной нейронной сети с 56 слоями (VGG-56, источник)
Приятного чтения!
Всего голосов 43: ↑41 и ↓2+39
Комментарии3

Как быть билингвом в Data Science

Время на прочтение5 мин
Количество просмотров6.5K
В этой статье я хочу продемонстрировать R Markdown — удобную надстройку для программирования вашего проекта как на R, так и на Python, позволяющую программировать некоторые элементы вашего проекта на двух языках и управлять объектами, созданными на одном языке, с помощью другого языка. Это может быть полезно потому, что:

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


Приятного чтения!
Всего голосов 29: ↑28 и ↓1+27
Комментарии4

Как НЕ сделать многопользовательскую игру в реальном времени за 30 дней

Время на прочтение7 мин
Количество просмотров8.1K

Или как добиться большего на следующем вашем хакатоне


Некоторое время назад я принимал участие в ежегодном игровом мероприятии Itch.io Game Off 2020, участники которого за ноябрь делали игру на определённую тему. Тема этого года, Moonshot, привела к созданию более 500 амбициозных, в основном космических, игр, которые вы можете увидеть здесь.

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

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

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

Изначально выбранное для статьи название было таким: «Создание многопользовательской игры в реальном времени за 30 дней». Видя, как мы разрабатываем игру, я хотел поделиться с вами некоторым опытом, который мы извлекли за эти 30 дней, создавая игру в условиях ограниченного времени.


Приятного чтения!
Всего голосов 27: ↑23 и ↓4+19
Комментарии3

Как экономить память и удваивать размеры моделей PyTorch с новым методом Sharded

Время на прочтение5 мин
Количество просмотров6.9K
Модели глубокого обучения улучшаются с увеличением количества данных и параметров. Даже с последней моделью GPT-3 от Open AI, которая использует 175 миллиардов параметров, нам ещё предстоит увидеть плато роста количества параметров.

Для некоторых областей, таких как NLP, рабочей лошадкой был Transformer, который требует огромных объёмов памяти графического процессора. Реалистичные модели просто не помещаются в памяти. Последний метод под названием Sharded  [букв. ‘сегментированный’] был представлен в Zero paper Microsoft, в котором они разработали метод, приближающий человечество к 1 триллиону параметров.

Специально к старту нового потока курса по Machine Learning, делюсь с вами статьей о Sharded в которой показывается, как использовать его с PyTorch сегодня для обучения моделей со вдвое большей памятью и всего за несколько минут. Эта возможность в PyTorch теперь доступна благодаря сотрудничеству между командами FairScale Facebook AI Research и PyTorch Lightning.


Приятного чтения!
Всего голосов 29: ↑27 и ↓2+25
Комментарии3

Визуализация пересечений и перекрытий с помощью Python

Время на прочтение6 мин
Количество просмотров11K

Изучение вариантов решения одной из самых сложных задач визуализации данных


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

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


Диаграмма Венна
Приятного чтения!
Всего голосов 28: ↑28 и ↓0+28
Комментарии0

В поисках искусственного здравого смысла

Время на прочтение5 мин
Количество просмотров11K
19 июля 2020 года была опубликована запись в блоге под названием «Чувствуете себя непродуктивным? Может, стоит перестать задумываться». В этой статье о самосовершенствовании в 1000 слов объясняется, что чрезмерное обдумывание — враг творчества, и даётся совет быть внимательнее:

«Чтобы что-то сделать, возможно, нам нужно меньше думать. Это кажется нелогичным, но я считаю, что иногда наши мысли могут мешать творческому процессу. Иногда мы можем работать лучше, когда «отключаемся» от внешнего мира, сосредотачиваясь на том, что перед нами».

Пост был написан GPT-3, огромной нейронной сетью Open AI с 175 миллиардами параметров, обученной почти полутриллиону слов. Студент Калифорнийского университета в Беркли Лиам Порр просто написал заголовок и позволил алгоритму написать текст. «Забавный эксперимент», чтобы посмотреть, сможет ли ИИ обмануть людей. Действительно, GPT-3 ударил по нервам: этот пост достиг первого места на Hacker News.

Итак, с сегодняшним ИИ есть парадокс. Хотя некоторые из работ GPT-3, возможно, удовлетворяют критерию теста Тьюринга, убеждая людей в том, что с ними общается человек, но он явно терпит неудачу на простейших заданиях. Исследователь искусственного интеллекта Гэри Маркус попросил GPT-2, предшественника GPT-3, закончить такое предложение:

«Что происходит, когда вы складываете растопку и поленья в камин, а затем бросаете несколько спичек? Обычно начнётся…»

«Огонь» — вот что немедленно закричит любой ребёнок. Но ответ GPT-2: «Ick»

Эксперимент не удался. Дело закрыто?


Приятного чтения!
Всего голосов 49: ↑47 и ↓2+45
Комментарии64

6 принципов эффективной визуализации данных

Время на прочтение6 мин
Количество просмотров15K

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


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

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

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

Эта статья также в значительной степени вдохновлена книгой Роджера Д. Пенга «Exploratory Data Analysis in R» Она доступна бесплатно на Bookdown, и вы можете прочитать её, чтобы узнать больше о EDA.

Давайте ближе познакомимся с этими принципами.


Пример визуализации данных на Our World in Data
Приятного чтения!
Всего голосов 32: ↑26 и ↓6+20
Комментарии12

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

Время на прочтение8 мин
Количество просмотров36K

20-летний путь Бена Честната, основателя MailChimp


Ему было 26 лет, когда его уволили и он основал студию веб-дизайна.

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

После увольнения в 2000 году Бен Честнат занялся тем, что знал лучше всего, — разработкой веб-сайтов. За эти годы он создал около двух тысяч рекламных баннеров для своего бывшего работодателя, газеты Cox. Он точно знал, как создавать интерактивные объекты в Интернете.

И я подумал… Что ж, это наш шанс открыть компанию. Мой деловой партнёр и я просто нашли клиентов. Мы пошли стучаться в двери по коридору от нашего офиса. И у нас появились оплачиваемые проекты. Мы получили проекты на 13 000 и 32 000$. Даже до получения лицензии на бизнес.

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


Приятного чтения!
Всего голосов 42: ↑33 и ↓9+24
Комментарии41
1

Информация

В рейтинге
Не участвует
Работает в
Зарегистрирован
Активность