STACK MORE LAYERS
2.11K subscribers
82 photos
15 videos
3 files
161 links
Еще один канал в твоем списке, который ты не будешь читать
Author: @alxmamaev
Download Telegram
Channel created
Channel photo updated
Google представила библиотеку Tensorflow-Lite

Tensorflow-Lite - новая библиотека от Google, способная запускать нейросетевые модели с использованием малых ресурсов.

http://telegra.ph/Tensorflow-Lite-11-16
Недавно столкнулся с такой проблемой, что нет никакого единого источника по ML для людей раздичных групп, что бы можно было бы найти различные статьи по фундаментальным темам с подробным разбором. Решил в этом посте собрать основные вики-странички, где вы можете, что-то почитать. От части делаю этот пост и для себя, что бы потом найти то, что мне нужно.

📕 http://www.machinelearning.ru/wiki - Профессиональный информационно-аналитический ресурс, найти можно почти любую тему по ML с жесткой матчастью.

📒 http://wiki.cs.hse.ru - Вики страничка ФКН ВШЭ, порой можно найти что-то, но навигация подходит скорее для студентов, которые находят материалы по дате и курсу.

📘 https://neerc.ifmo.ru/wiki/index.php?title=Теория_вероятностей - Аналогичная страничка от ИТМО, которая по большей части ориентированна на разбор фундаментальных вопросов информатики (алгоритмы и структуры данных), но и по тер-веру там можно найти много интересного.

📙 http://ru.learnmachinelearning.wikia.com - Вики-справочник по статьям Виктора Китова, статьи написаны человеком, для людей, рекомендую 👍

📚 https://ru.wikipedia.org/wiki/Категория:Машинное_обучение - Ну и по классике можно посмотреть классическую википедию, где на удивление собрано немало подробного материала.

P.S Предложения по дополнению материала можете присылать мне @alxmamaev
🌄 Инцепционизм 🌅

Вы слышали что-нибудь об этом направлении искусства?

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

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

Посмотреть картинки вы можете здесь: https://distill.pub/2017/feature-visualization/

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

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

Проект разработан в рамках программы гугла "Ai-first", которая направлена на предоставление лучших инструментов для ML-разработчиков.

Кстати, помимо разработчиков он может быть интересен и новичкам в ML, поскольку в данном случае единым хранилищем всех ноутбуков выступает GoogeDrive, что весьма удобно для экспериментов.

https://towardsdatascience.com/google-colaboratory-simplifying-data-science-workflow-c70059386323
👨‍💻 Классификатор технарей и гуманитариев 👨‍🏫

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

https://habrahabr.ru/post/342572/
📈Tangent - новая библиотека для автоматического дифференцирования📉

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

Она имеет достаточно простой интерфейс. Для того, что бы получить градиент, вам достаточно вызвать метод dfdW = tangent.grad(f) и передать функцию f. Изначальная функция может содержать как стандартные питоновские математические операции, так и работа с Numpy или Tensorflow.

Что бы лучше понять как это работает, советую зайти на их гитхаб репозеторий и посмотреть гифки с примерами.
https://github.com/google/tangent

P.S. У меня запустить библиотеку так и не удалось, хотя и поставил все зависимости. При импорте она крашится без репорта об ошибке, возможно дело в моем железе, а может в том, что утилита появилась совсем недавно.
📚Advanced Machine Learning Specialization📖

Тут Яндекс вместе с ВШЭ выпустили очередную специализацию по ML, на этот раз на английском языке.
Она содержит в себе погружение в DeepLearning, Reinforcment Learning, Computer Vision, NLP, а так же курс для побед в задачках на Kaggle :D
P.S. Некоторые из этих курсов я уже видел, видимо они выпустили некоторые новые и объединили все в одну новую специализацию

https://www.coursera.org/specializations/aml

P.P.S. Кстати, маленький инсайд, на прошлой тренировке по ML один из основателей курса по Kaggle-Winners выступил с мини-докладом, советую послушать, он рассказывает маленький хак, про то, как бесплатно пройти курс на Coursera :)
https://www.youtube.com/watch?v=-psvOsqPx1g&t=2130s
💊Капсульные нейронные сети💊

Недавно наткнулся на новую тему в области AI, а именно новый вид нейронных сетей - "капсульные сети".

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

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

Подробнее узнать про капсульные сети можно узнать здесь: https://tproger.ru/news/capsule-neural-network/

А как запустить свою капсульную нейронную сеть, можетк прочитать здесь: https://proglib.io/p/capsule-networks/

P.S. По моему весьма субъективному мнению, такие сетки будут учиться несколько дольше, в связи с большим колличеством весов на слоях для выделения фич с изображений. В любом случае все нужно проверять и тестировать :)
♠️Покер и ML♥️

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

Спойлер:
Он делал бота на основе CatBoost и тренировал его пародировать поведение топовых игроков (ботов в топе рейтинга).


Собственно его лекция на тренировках по ML:
https://youtu.be/74pTbshfERM

Решение с ботом выложено на гитхаб:
https://github.com/tyz910/sberbank-holdem-bot

Ну и он сам, если кто захочет пообщаться: @tyz910
🏚Генерация названий деревень🏠


Сальтолово
Ничичи
Каверная Голяна
Придориусловка
Старотипенки
Кюканово
Кутюшевка
Верхний Стед
Сабаревка


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

https://m.habrahabr.ru/post/343336/

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

http://pytorch.org/tutorials/intermediate/char_rnn_generation_tutorial.html
📊UMAP - библиотека снижения размерности📑

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

Использование библиотеки очень простое:
import umap 
from sklearn.datasets import load_digits
digits = load_digits() embedding = umap.UMAP().fit_transform(digits.data)


https://github.com/lmcinnes/umap/blob/master/README.rst
Пример визуализации MNIST.