Search
Write a publication
Pull to refresh
38
0
Danov @Danov

Dev UWP/Mobile, Data Scientist, EduTech

Send message

Голосуем за школьное обучение информатике

Reading time2 min
Views15K

(Источник)

Как известно, истина в математике и естествознании не определяется голосованием. Это относится и к информатике (computer science – CS). Несмотря на это, по одной из самых острых проблем CS: $P =? NP$ уже проводилось несколько голосований, в которых участвовали ведущие мировые эксперты:
На начало 2000-х гг. большинство математиков считают, что эти классы не равны. Согласно опросу, проведённому в 2002 году среди 100 учёных, 61 человек считает, что ответ — «не равны», 9 — «равны», 22 затруднились ответить и 8 считают, что гипотеза не выводима из текущей системы аксиом и, таким образом, не может быть доказана или опровергнута.
(Википедия )
Воспользуемся этим примером и предложим опрос по наиболее острым вопросам школьной информатики, которые выявило недавнее обсуждение.
Читать дальше →

Шпаргалка по улучшению интерфейса

Reading time6 min
Views14K
Сталкивались ли вы когда-либо с ситуацией: «А ты можешь сделать это еще лучше?», имея в распоряжении только собственную голову и определенный кусок времени? Было желание улучшить существующий интерфейс, но не знали с чего начать? Если да, то статья будет вам полезна.

Скажу сразу: знания полностью взяты из книги «Дизайн пользовательского интерфейса. Искусство мыть слона» автор В.Головач. Для меня материал оказался настолько полезным и крутыми, что захотелось им поделиться.Если вы уже читали книгу, ничего нового вы не найдете, если нет — добро пожаловать подкат. Статья получилась довольна большая, но она того стоит.
Читать дальше →

Лекции Техносферы. Нейронные сети в машинном обучении

Reading time3 min
Views32K


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

Сверточная сеть на python. Часть 1. Определение основных параметров модели

Reading time8 min
Views75K

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

Сверточная сеть на python. Часть 2. Вывод формул для обучения модели

Reading time5 min
Views31K

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

Распознавание лиц. Создаем и примеряем маски

Reading time8 min
Views29K


Пока сообщество iOS-разработчиков спорит, как писать проекты, пока пытается решить, использовать ли MVVM или VIPER, пока пытается подSOLIDить проект или добавить туда реактивную турбину, я попытаюсь оторваться от этого и рассмотреть, как работает под капотом еще одна технология с графика Hype-Driven-Development.


В 2017 году на вершине графика хайпа — машинное обучение. И понятно почему:


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

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

Читать дальше →

Невероятно эффектная цветомузыка на Arduino и светодиодах

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

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



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

«Звук наше всё»: обзор микрофонов для создания аудио/видеоконтента

Reading time7 min
Views22K
За последние несколько лет значительно возросла популярность видеоблогинга. Аудитория YouTube насчитывает миллиард человек — это треть всех интернет-пользователей. Ежедневно они «насматривают» 500 миллионов часов видео.

Подкастинг — еще одна форма создания контента, которая активно развивается. Как минимум 67 миллионов американцев слушают подкасты раз в месяц. Это движение набирает обороты и в России. Например, в iTunes можно найти такие проекты, как образовательный подкаст «Хочу все знать», а также аудиоверсию шоу на радио «Маяк» с Сергеем Стиллавиным и Рустамом Вахидовым.

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

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

Дэн Бенджамин (Dan Benjamin), создатель хостинга для подкастов Fireside, отмечает, что от качества звука зависит все. Если у вас хороший контент, но зрители не понимают, что вы говорите, или у них в ушах белый шум, не стоит ждать, что ваше творчество будут рекомендовать друзьям.

Хороший микрофон и обработка звука — одна из основ для привлечения новой аудитории и удержания внимания преданных поклонников вашего проекта.


Читать дальше →

Вероятностная интерпретация классических моделей машинного обучения

Reading time8 min
Views32K

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


Читать дальше →

AlphaGo Zero совсем на пальцах

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

19 октября 2017 года команда Deepmind опубликовала в Nature статью, краткая суть которой сводится к тому, что их новая модель AlphaGo Zero не только разгромно обыгрывает прошлые версии сети, но ещё и не требует никакого человеческого участия в процессе тренировки. Естественно, это заявление произвело в AI-коммьюнити эффект разорвавшейся бомбы, и всем тут же стало интересно, за счёт чего удалось добиться такого успеха.

По мотивам материалов, находящихся в открытом доступе, Семён sim0nsays записал отличный стрим:


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

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

Ну, поехали.
Читать дальше →

Разбираемся, что же там нового открыли в задаче о ферзях

Reading time6 min
Views77K

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


image
Сможете поставить ещё шесть? А найти все решения?
(картинка из статьи)


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



Стоит отметить, что пять наугад открытых ссылок на русском ещё меньше проясняли картину происходящего.


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


О чём пойдёт речь:


Читать дальше →

Создаём собственный физический 2D-движок: части 2-4

Reading time32 min
Views40K
image


Оглавление


Часть 2: ядро движка

  • Интегрирование
  • Метки времени
  • Модульная архитектура
    • Тела
    • Формы
    • Силы
    • Материалы
  • Широкая фаза
    • Отсечение дубликатов контактных пар
    • Система слоёв
  • Проверка пересечения полупространств

Часть 3: трение, сцена и таблица переходов

  • Трение
  • Сцена
  • Таблица переходов коллизий

Часть 4: ориентированные твёрдые тела

  • Математика вращения
  • Ориентированные формы
  • Распознавание коллизий
  • Разрешение коллизий

Transformer — новая архитектура нейросетей для работы с последовательностями

Reading time7 min
Views90K

Необходимое предисловие: я решил попробовать современный формат несения света в массы и пробую стримить на YouTube про deep learning.


В частности, в какой-то момент меня попросили рассказать про attention, а для этого нужно рассказать и про машинный перевод, и про sequence to sequence, и про применение к картинкам, итд итп. В итоге получился вот такой стрим на час:



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


Новая архитектура называется Transformer, была разработана в Гугле, описана в статье Attention Is All You Need (arxiv) и про нее есть пост на Google Research Blog (не очень детальный, зато с картинками).


Поехали.

Читать дальше →

Как правильно оформить Open Source проект

Reading time7 min
Views55K

В свободное и не свободное время[1] я развиваю несколько своих проектов на github, а также, по мере сил, участвую в жизни интересных для меня, как программиста, проектах.


Недавно один из коллег попросил консультацию: как выложить разработанную им библиотеку на github. Библиотека никак не связана с бизнес-логикой приложения компании, по сути это адаптер к некоему API, реализующему определённый стандарт. Помогая ему, я понял что вещи, интуитивно понятные и давно очевидные для меня, в этой области, совершенно неизвестны человеку делающему это впервые и далёкому от Open Source.


Я провел небольшое исследование и обнаружил что большинство публикаций по этой теме на habrahabr освещают тему участия (contributing), либо просто мотивируют каким-нибудь образом примкнуть к Open Source, но не дают исчерпывающей инструкции как правильно оформить свой проект. В целом в рунете, если верить Яндекс, тема освещена со стороны мотивации, этикета контрибуции и основ пользования github. Но не с точки зрения конкретных шагов, которые следует предпринять.


Так что из себя представляет стильный, модный, молодёжный Open Source проект в 201* году?

Читать дальше →

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

Reading time28 min
Views225K
image

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

Если тебе интересно машинное обучение, то приглашаю в «Мишин Лернинг» — мой субъективный телеграм-канал об искусстве глубокого обучения, нейронных сетях и новостях из мира искусственного интеллекта.

Вопросы, которые разобраны в статье:

• Как собрать и подготовить данные для построения модели?
• Что такое нейронная сеть и как она устроена?
• Как написать свою нейронную сеть с нуля?
• Как правильно обучить нейронную сеть на имеющихся данных?
• Как интерпретировать модель и ее результаты?
• Как корректно оценить качество модели?
Поехали!

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

Reading time6 min
Views22K

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


И если ошибка второго рода выражается просто:


$O_2 = 1 - \Pi$


где Π — это полнота;


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


Но это лирика. Самый важный вопрос:


Почему в DataScience используют полноту и точность и почти никогда не говорят об ошибках первого и второго рода?

Кто не знает или забыл — прошу под кат.

Дальше читать

Конкурс идей от ABBYY – как выиграть новый iPhone

Reading time5 min
Views4.9K
mABBYYlity logoВсем привет. Меня зовут Игорь Акимов, я руководитель направления мобильных продуктов ABBYY. Наверное, многие знают ABBYY по лучшим словарям Lingvo и помощнику любого студента FineReader, но кроме этого мы занимаемся ещё много чем интересным в сфере интеллектуальной обработки информации и лингвистики. За 28 лет накопили огромный багаж в сфере машинного обучения и нейросетей, а новых проектов и идей так много, что кажется, нам нужна помощь :) Поэтому мы приглашаем вас принять участие в конкурсе. Мы ищем идеи по применению новых технологий в мобильной разработке, которые будут близки большому числу людей. И назвали конкурс мы смело – mABBYYlity (тут и ABBYY, и мобильность, и ability – способность). Короче, всё основное тут – mobility.abbyy.com. А в статью за подробностями.
Читать дальше →

Как написать отличную научную статью по CS

Reading time9 min
Views11K
Здравствуйте!

Недавно я наткнулся на запись очень интересного выступления Саймона Пейтона-Джонса(ведущий разработчик языка Haskell) в Microsoft Research Cambridge. В нём он рассказывает студентам, как проводить научные исследования и писать статьи по Computer Science. Его мысли мне показались очень интересными, причем применимыми не только для области CS.



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

Искусство создания диаграмм процессов

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

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

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

image

Читать дальше →

Information

Rating
Does not participate
Location
Россия
Registered
Activity