Google випустила TensorFlow 1.0


TensorFlow 1.0 з моделлю нейромережі нового покоління Inception підтримує апаратне прискорення на DSP Hexagon в мобільні процесори Qualcomm Snapdradon 820. Швидкість роботи додатків на зразок Prism і програм машинного зору збільшиться у 8 разів, а енергоспоживання знизиться в 4 рази. Фільтри від нейромереж можна буде накладати на відео майже в реальному часі

На першій конференції для розробників TensorFlow Dev Summit Google оголосила про вихід мажорного релізу бібліотеки TensorFlow 1.0, назад несумісного з попередніми версіями. Це означає, що програми, які працювали на версіях TensorFlow 0.n, можуть не працювати на версії TensorFlow 1.0. Розробники з Google говорять, що зміни в API були необхідні «для забезпечення внутрішньо узгоджених програмних інтерфейсів», і більше такого не повториться: ламають зворотну сумісність змін в майбутніх версіях 1.x не планується. Зараз розробникам рекомендується вивчити керівництво з міграції і скрипт для перетворення.

TensorFlow — вільна програмна бібліотека для машинного навчання в застосуванні до різних видів завдань на сприйняття і розуміння мови. В даний момент вона використовується в науково-дослідній роботі і в десятках комерційних продуктів Google, в тому числі в Google Search, Gmail, Photos, Youtube, Translate, Assistant, а так само всіляких системах розпізнавання, в тому числі розпізнавання мови.

Читати далі →

Трансляція TensorFlow Developer Summit

Друзі, зовсім скоро, в 20:30 по Москві почнеться трансляція TensorFlow Developer Summit.

Кейноут будуть вести такі люди такі люди як Jeff Dean, Rajat Monga і Megan Kacholia.
Дуже рекомендую подивитися цю трансляцію сьогодні ввечері всім кому цікава тема машинного обуечения. Буде розказано як про сам TensorFlow так і про цікаві приклади його використання.



Читати далі →

Рівняння теплопровідності в tensorflow

Привіт, Хабр! Деякий час тому захопився глибоким навчанням і став потихеньку вивчати tensorflow. Поки копався в tensorflow згадав про свою курсову з паралельного програмування, яку робив в тому році на 4 курсі університету. Завдання там формулювалося так:

Лінійна початково-крайова задача для двовимірного рівняння теплопровідності:

\frac{\partial u}{\partial t} = \sum \limits_{\alpha=1}^{2} \frac{\partial}{\partial x_\alpha} \left (k_\alpha \frac{\partial u}{\partial x_\alpha} \right ) -u, \quad x_\alpha \in [0,1] \quad (\alpha=1,2), \ t>0;
k_\alpha =
\begin{cases}
50, (x_1, x_2) \in \Delta ABC\\
1, (x_1, x_2) \notin \Delta ABC
\end{cases}
(\alpha = 1,2), \ A(0.2,0.5), \ B(0.7,0.2), \ C(0.5,0.8);
u(x_1, x_2, 0) = 0,\ u(0,x_2,t) = 1 - e^{-\omega t},\ u(1, x_2, t) = 0,
u(x_1,0,t) = 1 - e^{-\omega t},\ u(0, x_2, t) = 0,\ \omega = 20.
Хоча правильніше було б назвати це рівнянням дифузії.

Завдання тоді вимагалося вирішити методом кінцевих різниць за неявною схемою, використовуючи MPI для розпаралелювання і метод спряжених градієнтів.

Я не фахівець у чисельних методах, поки не фахівець в tensorflow, але досвід у мене вже з'явився. І я загорівся бажанням спробувати обчислювати урматы на фреймворку для глибокого навчання. Метод спряжених градієнтів реалізовувати другий раз вже не цікаво, зате цікаво подивитися як з обчисленням впорається tensorflow і які труднощі при цьому виникнуть. Цей пост про те, що з цього вийшло.

Чисельний алгоритм

Читати далі →

Нейросетка грає в Доту



Всім привіт! Насправді нейросетка грає не на звичну Dota 2, а в RussianAICup 2016 CodeWizards. RussianAICup — це щорічне відкрите змагання з програмування штучного інтелекту. Брати участь в цьому змаганні досить цікаво. У цьому році темою була гра схожа на Дота. Так як я вже якийсь час займаюся навчанням з підкріпленням, то мені хотілося спробувати застосувати це в RussianAICup. Головною метою було навчити нейронну мережу грати в цю гру, хоча зайняття призового місця — це, звичайно, було б приємно. У підсумку нейромережа тримається в районі 700 місця. Що, я вважаю, непогано, зважаючи обмежень змагання. У цій статті мова піде швидше про навчання з підкріпленням та алгоритмах DDPG і DQN, а не про самому змаганні.

Читати далі →

Chatbot на базі рекурентної нейронної мережі своїми руками за 1 вечір/6$ і ~ 100 рядків коду

У даній статті я хочу показати наскільки просто сьогодні використовувати нейронні мережі. Навколо мене досить багато людей одержимі ідеєю того, що нейронки може використовувати тільки дослідник. І що б отримати хоч якийсь вихід, потрібно мати як мінімум кандидатський ступінь. А давайте на реальному прикладі подивимося як воно насправді, взяти і з нуля за один вечір навчити chatbot. Так ще не просто аби чим а самим що нинаесть ламповим TensorFlow. При цьому я постарався описати все настільки просто, що-б він був зрозумілий навіть починаючому програмісту! У шлях!

image

Читати далі →

Синтаксичний аналіз текстів з допомогою SyntaxNet

Для однієї з задач мені знадобився синтаксичний аналізатор російськомовних текстів. Що це таке. Наприклад, у нас є пропозиція «Мама мила раму». Нам потрібно отримати зв'язку слів у цьому реченні у вигляді дерева:

image
З цього дерева зрозуміло, що пов'язані слова «мама» і «мила», а також «мила» і «раму», а слова «мама» і «раму» безпосередньо не пов'язані.

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

Я займався цією темою кілька місяців тому, і на той момент не знайшов багато інформації з приводу того, де б взяти готовий і бажано вільний аналізатор.

Читати далі →

Пошук звукових аномалій

Спробуємо вирішити завдання пошуку аномалій у звуці.

Приклади аномалій звуку:

  • Несправності в роботі двигуна.
  • Зміни в погоді: дощ, град, вітер.
  • Аномалії робота серця, шлунка, суглобів.
  • Незвичайний трафік на дорозі.
  • Несправності колісних пар у поїзда.
  • Несправності при посадці і зльоті літака.
  • Аномалії руху рідини в трубі, каналі.
  • Аномалії руху повітря в системах кондиціонування, на крилі літака.
  • Несправності автомобіля, велосипеда.
  • Несправності верстата, обладнання.
  • Засмучений музичний інструмент.
  • Неправильно взяті ноти пісні.
  • Ехолокація кораблів і підводних човнів.

Читати далі →

Тензорні розкладання і їх застосування. Лекція в Яндексі

Попередня лекція з Data Fest була присвячена алгоритмами, необхідним для побудови нового виду пошуку. Сьогоднішній доповідь теж в деякому сенсі про різні алгоритми, а точніше про математику, лежить в основі багатьох з них. Про матричних разложениях глядачам розповів доктор наук і керівник групи обчислювальних методів «Сколтеха» Іван Оселедець.


Під катом — розшифровка і більшість слайдів.


Читати далі →

Deep Learning: Порівняння фреймворків для символьного глибокого навчання

Представляємо вам переклад серії статей, присвячених глибоке навчання. У першій частині описано вибір фреймворка з відкритим кодом для символьного глибокого навчання, між MXNET, TensorFlow, Theano. Автор докладно порівнює переваги і недоліки кожного з них. У наступних частинах ви дізнаєтеся про тонкій настройці глибоких згорткових мереж, а також про поєднання глибокої серточной нейронної мережі з рекурентної нейронної мережею.



Читати далі →

Як подружити Tensorflow і C++


У Google TensorFlow є одна чудова особливість, воно вміє працювати не тільки в програмах на Python, а також і в програмах C++. Однак, як виявилося, у випадку З++ потрібно трохи повозитися, щоб правильно приготувати це блюдо. Звичайно, основна частина розробників і дослідників, які використовують TensorFlow працюють в Python. Однак, іноді буває необхідно відмовитися від цієї схеми. Наприклад ви натренировали вашу модель і хочете її використовувати в мобільному додатку або роботі. А може ви хочете інтегрувати TensorFlow в існуючий проект на С++. Якщо вам цікаво як це зробити, ласкаво просимо під кат.

Читати далі →