Pull to refresh
27
0
Владимир @Roaming

Data Scientist at Octadero

Send message

Neuromorphic inspired computing

Reading time 8 min
Views 4.8K
Уже в 1950 году Тьюринг и фон Нейман описали [1],[2] архитектуру, схожую с нашим мозгом, но, к сожалению, на тот момент ни нейрофизиологи не представляли, как вообще устроен мозг, ни физики не знали, как может выглядеть элементная база для такого компьютера. Это не значит, что нейрофизиологи сейчас знают ответы на все вопросы об устройстве мозга или физики могут предложить совершенную элементную базу, но я полагаю, что уже сейчас мы можем заняться разработкой первых таких компьютеров.

image

Вводная статья рассказывает о проблематике которую пытаются решить neuromorphic компьютеры.

Начать рассказ о neuromorphic архитектуре стоит с нейрона. В различных публикациях о машинном обучении так много базовой информации об устройстве нейрона, что я постараюсь максимально сжать рассказ об его устройстве и перейти сразу к очень поверхностному описанию его функционала. Также я часто буду апеллировать к некому абстрактному “мозгу”. К этому референсу надо относится снисходительно, понимая что нейрофизиологи знают совсем немного о его устройстве, а я всего лишь поверхностно опираюсь на некоторые из этих представлений.
Также стоит сказать о еще одном важном моменте. Современные подходы в neuromorphic архитектуре не пытаются создать точную “копию” мозга в “силиконе”. Во-первых, как я уже писал выше, нейрофизиологи очень мало знают о том, как в действительности работает мозг. Во-вторых, физика процесса будет разная, а значит и некоторые подходы не могут быть просто перенесены из одной системы в другую. В-третьих, мы научились решать некоторые задачи лучше и качественнее того, как это делает наш мозг. Наконец в четвертых, мозг решает множество побочных, не когнитивных задач, например: регуляция температуры тела, управление гормональными железами и тд., большой необходимости в воспроизведении этих функций пока нет.
Читать дальше →
Total votes 5: ↑4 and ↓1 +3
Comments 4

Закат архитектуры фон Неймана, о котором вы еще не слышали и что будет дальше?

Reading time 5 min
Views 14K
За последние тридцать лет компьютеры настолько стали популярны, что успели изменить многие процессы в жизни человека и соответственно общества. С каждым годом, согласно закону Мура, они приобретают все больше вычислительных способностей, что позволяет им решать все более сложные задачи. Уже сегодня компьютеры столкнулись с рядом ограничений, которые не позволяют нам решать задачи из фильмов про будущее. Так ли будет и дальше, есть ли предел у современной архитектуры и что нам делать, если такой стремительный рост в дальнейшем невозможен?

image

На изображении отладочная плата с расположенными чипами Loihi.

Дисклеймер
Компьютер фон Неймана все так же будет обрабатывать задачи, связанные с реляционными базами данных (про BigData не уверен), численными методами, интернетом и тд. В общем он так и будет заниматься всем тем, для чего он был создан, но уже не будет такого быстрого прироста вычислительных способностей, а для решения задач обработки сигналов “реального мира” будет использоваться другой архитектурный подход. Оба архитектурных подхода будут использоваться на одной печатной плате, а со временем и в одном чипе.

Эта статья является вступлением для статьи Neuromorphic inspired computing и описывает проблематику вопроса, решения предлагаются во второй статье.

Классическая архитектура фон Неймана


“Бутылочное горлышко” архитектуры фон Неймана.

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

The decline of von Neumanns architecture
Рис. 1. The decline of von Neumanns architecture
Читать дальше →
Total votes 15: ↑6 and ↓9 -3
Comments 9

О чем говорит YouTube

Reading time 7 min
Views 11K
image

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

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

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

Поиск по документам представляется достаточно просто. Но что делать с поиском по мультимедиа контенту? Для полноценного сервиса пользователя надо обязать заполнить описание, дать название видеоролику или картинке, не помешает несколько тегов. К сожалению, далеко не все хотят тратить время на подобные улучшения контента. Обычно пользователь загружает ссылку на youtube, сообщает что это новое видео и нажимает сохранить. Что же делать сервису с таким “серым” контентом. Первая идея — спросить у YouTube? Но YouTube тоже наполняют пользователи (часто это один и тот же пользователь). Часто видеоматериал может быть и не с Youtube сервиса.
Так мне пришла идея научить наш сервис “слушать” видеоролик и самостоятельно “понимать”, о чем он.
Читать дальше →
Total votes 18: ↑18 and ↓0 +18
Comments 3

Применение рекуррентных слоев для решения многоходовок

Reading time 7 min
Views 13K
image

История


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

Задача


В рамках задачи по Hierarchy reinforcement learning я решил прогнозировать не одно действие агента, а несколько, используя для этого уже пред обученную сеть способную предсказать последовательность действий. В данной статье я покажу как реализовать “sequence to sequence” алгоритм для обучения этой самой сети а в последующей, постараюсь рассказать, как использовать ее в Q-learning обучении.
Читать дальше →
Total votes 31: ↑31 and ↓0 +31
Comments 4

Автоэнкодер в задачах кластеризации политических событий

Reading time 8 min
Views 6.3K
image
Я не люблю читать статьи, смотрю demo и код
Демо TensorBoard Projector

  1. Работает в Chrome.
  2. Открываем и нажимаем на Bookmarks в нижнем правом углу.
  3. В верхнем правом углу можем фильтровать классы.
  4. В конце статьи есть GIF картинки с примерами использования.

Проект на GitHub

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

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

Постановка задачи


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

Каждый политик самовыразился по факту двенадцати тысяч голосований. Каждое голосование может принимать одно из пяти вариантов (не пришел в зал, пришел но пропустил голосование, проголосовал “за”, “против” или воздержался).

Наша задача — трансформировать все результаты голосования в точку в трехмерном евклидовом пространстве отражающую некую взвешенную позицию.
Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Comments 5

Визуализация процесса обучения нейронной сети средствами TensorFlowKit

Reading time 5 min
Views 23K
Hint
Перед прочтением этой статьи советую ознакомиться с предыдущей статьей о TensorFlowKit и поставить star репозиторию.

Я не люблю читать статьи, сразу иду на GitHub
GitHub: TensorFlowKit
GitHub: Example
GitHub: Другое
TensorFlowKit API
Посeтив репозиторий, добавьте его в «Stars» это поможет мне написать больше статей на эту тему.

image

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

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

Существуют целые сообщества, решающие такого рода задачи, например Distill, Welch Labs, 3Blue1Brown.

Читать дальше →
Total votes 27: ↑24 and ↓3 +21
Comments 14

Swift и TensorFlow

Reading time 8 min
Views 13K
Я не люблю читать статьи, сразу иду на GitHub

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


Рассказывать о том, что такое машинное обучение и искусственный интеллект, в 2017 году наверное нет необходимости. На эту тему уже написано большое количество как публицистических статей, так и серьезных научных работ. Поэтому предполагается, что читатель уже знает, что это такое. Говоря о машинном обучении, сообщество data scientist и software engineers, как правило подразумевает глубокие нейронные сети, которые приобрели большую популярность по причине своей производительности. На сегодняшний день в мире существует большое количество различных программных решений и комплексов для решения задачи искусственных нейронных сетей: Caffe, TensorFlow, Torch, Theano(rip), cuDNN etc.

Swift


Swift — инновационный, protocol — oriented, open source язык программирования, выращенный в стенах компании Apple Крисом Латнером (недавно покинувшим компанию Apple, после SpaceX и обосновавшимся в Google).
В Apple’s OSs уже были различные библиотеки для работы с матрицами и векторной алгеброй: BLAS, BNNS, DSP, впоследствии объединенные под крышей одной библиотеки Accelerate.
В 2015 появились небольшие решения для реализации математики на основе графической технологии Metal.
В 2016 появился CoreML:
image
CoreML способен импортировать готовую, натренированную модель (CaffeV1, Keras, scikit-learn) и далее предоставить разработчику возможность экспортировать ее в приложение.
То есть, вам необходимо: Собрать модель на другой платформе, на языке Python или C++, используя сторонние фреймворки. Далее обучить ее на стороннем аппаратном решении.
И только после этого вы можете импортировать и работать на языке Swift. На мой взгляд очень нагромождено и сложно.
Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Comments 8

Information

Rating
Does not participate
Registered
Activity