Точка входа
570 subscribers
13 photos
1 file
60 links
Спасибо, что зашли на канал!

Субъективно про будущее и настоящее IT сферы от разработчика ПО
Download Telegram
Channel created
Отличные курсы по машинному обучению от Яндекса

https://yandexdataschool.ru/edu-process/courses/machine-learning

#яндекс #machinelearning
Отличная книга по машинному обучению для новичков. Жалко, что работе с изображениями практически не уделено внимания. В остальном книга выделяется тем, что сложные вещи рассказываются языком смертных
Макс +100500, только по теме программирования и математики: https://www.youtube.com/user/shiffman/videos?app=desktop

Таких не хватает на курсере

Здесь можно заказать у него видос по своей теме: https://github.com/CodingRainbow/Rainbow-Topics
Судя по тому, что гугл с недавних пор еще активней нацеливает своих разработчиков на машинное обучение, этой темой стоит заинтересоваться

Курсера запускает курс по нейросетям в сентябре: https://www.coursera.org/learn/neural-networks#

По отзывам - это лучший курс
Тот самый видео урок по нейронным сетям, который выделяется на фоне простых зачитываний научных статей вслух
https://www.youtube.com/watch?v=kQ7bV2SP22M

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

Есть ощущение, что сети скоро начнут снимать для нас мультики, дизайнить одежду и создавать новые блюда
Последнее время активно пишу на Go (golang.org) и все сильнее убеждаюсь, что он со временем прижмет своих конкурентов по веб части.

В языке больше всего радуют 3 вещи:
- обработка ошибок
- жесткий синтаксис
- быстрый компилятор

Обработка ошибок в Go кардинально отличается от тех, которые я наблюдал в других "обычных" языках. Программист Go каждый раз должен делать осознанный выбор между "я забью на обработку ошибок" или " я обработаю эту ошибку сейчас", когда видит, что функция возвращает значение ошибки. Это дает возможность прямолинейно писать код и так же без труда его читать. В других же языках, чаще всего программист вообще не делает выбор, а просто забивает на обработку ошибок. Но в случае, когда обработка ошибок все-таки происходит, то везде вставляются try-catch блоки, что ведет к превращению кода в кашку и появлению побочных мануалов "как правильно отлавливать ошибки"

С жестким синтаксисом проблемы стиля кода отваливаются by design. Все как при коммунизме: все пишут одинаково (если забиндили вызов gofmt на сохранение кода, либо вызвали его руками) и нет никаких if в одну строку или тернарных операторов в тернарных операторах. С таким подходом к стилю кода, можно нанимать джуниоров не опасаясь за "нововведения по стилю" - они будут сходу писать простой и читаемый код (инфа проверена и оттестирована)

С компилятором все понятно: экономит время и нервы разработчика. Это позволяет увеличить кол-во сборок и сглаживает итерации ручного тестирования при написании кода

Рекомендую начать учить Go, хотя бы для того, чтобы увидеть другой подход. Стоит попробовать написать на нем простейшее приложение с обработкой http запросов, либо бота для телеграмма. Язык учится максимум за неделю, а рвотный рефлекс от нового синтаксиса проходит практически сразу (особенно если забиндить на сохранение файлов не просто gofmt, а сразу вот это: https://github.com/bradfitz/goimports)

Я начал познавать Go с этого тура: https://tour.golang.org

#golang #go
Презентация CEO NVIDIA о том, как применяется машинное зрение в автомобильной промышленности:
https://www.youtube.com/watch?v=KkpxA5rXjmA

Если нет времени смотреть всю презентацию, то посмотрите хотя бы 32ую минуту, там показан результат не слабой сегментации

Для тех, кому интересно как это работает: вот тут есть код другой реализации сегментации, не уступающей по уровню той, которая показана на видео: http://mi.eng.cam.ac.uk/projects/segnet/
Каталог каналов от самой большой медиасети в Telegram - @catalog_channels
Сегодня освежал свои знания по ReactJS. Посмотрел доклад https://vimeo.com/168648012
который читает автор суперского бойлерплейта https://github.com/mxstbr/react-boilerplate/

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

Волна, которую запустили Facebook несколько лет назад, под названием React (в нее входят ReactJS, GraphQL, паттерн Flux и тд) очень крутая и очень нужна разработке веб приложений, но к сожалению, сообщество еще не дошло до уровня "упакованности" того же AngularJS. Я очень удивился, когда увидел, что для форм на ReactJS до сих пор нет нормальных не примитивных валидаторов (в AngularJS это, практически, из коробки идет)

Если посмотреть на вакансии, то ReactJS уже востребован на уровне AngularJS. Например, Тинькофф Банк уже слез с AngularJS и наисал крутую статью о своих результатах : https://habrahabr.ru/company/tcsbank/blog/303580/
Посмотрите историю развития такой штуки, как "машинное обучение" от одного из калифорнийских инвесторов: http://a16z.com/2016/06/10/ai-deep-learning-machines

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

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

Здесь можно поиграться с нейронной сетью онлайн (это та песочница, которая показана на видео): http://playground.tensorflow.org/
Вчера задали вопрос: "нейронные сети выдают крутой результат, но как вообще эта штука работает?". Есть очень наглядный пример работы обученнной нейронной сети, на котором видно что сеть получает на входе и что отдает на выходе: https://rawgit.com/TigranGalstyan/mnistconvnetdemo/master/index.html
Автор обучил нейронную сеть на распознавание рукописных цифр

Можно увидеть, что в итоге, нейронная сеть - это обычная функция, которой на вход подается много параметров, а на выходе ожидается массив вероятностей для каждого из заложенного в нее ответов (в случае с цифрами 10 значений). Конкретно в этом примере на вход функция (сеть) принимает массив пикселей (например, если пиксель черного цвета, то будем считать, что пиксель имеет значение 1, если пиксель белого цвета, то 0). Т.к. изображение двумерно, то пиксели выстраиваются в один ряд, чтобы массив был одномерным. Получается, функция (сеть) примет на вход длинный массив с нулями и единицами

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

"Мы собираемся развивать нейроэволюционные подходы для оптимизации топологии нейросетей и регуляризации — это самый многообещающий подход. Получится революция или нет — увидим."

https://nplus1.ru/material/2016/07/06/evodevo
Очень часто, в начале обучения программированию люди говорят: "я понял, что есть циклы и т.п., но что делать дальше?" и просят накидать задачек. Рекомендую отличный (бесплатный) ресурс с задачами: https://www.hackerrank.com

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

Если выберите Go, то советую прочитать про стиль табличного тестирования: https://github.com/golang/go/wiki/TableDrivenTests
Решите вопрос тестирования на разных наборах входных данных и привыкните писать тесты
Судя по статьям и презентациям, в мире во всю идет работа над новой областью, называемой Connected Car. С точки зрения программиста - это еще одна почва для стартапов

Кидаю ссылки на несколько интересных презентаций с недавней конференции "Connected Car" (http://ccsummit.ru/ru). Все доступные презентации можно скачать в разделе "Программа"

В целом про connected devices (изображена очень интересная идея на 5ом слайде):
http://www.smileexpo.ru/public/upload/showsEvent/evolyutsiya_podklyuchyonnih_avtomobiley._keysi_14628707177749_file.pdf

Про сервисы и приложения в этой теме:
https://drive.google.com/file/d/0B2xwQ6W4pZxwYk1PSktyOEQ3dUE/view?usp=sharing

Взгляд оператора связи (Билайн) на эту область:
http://www.smileexpo.ru/public/upload/showsEvent/connected_car_videnie_sotovih_operatorov_14625219162375_file.pdf
В конце прошлого года гугл выпустил крутейшую библеотеку для машинного обучения TensorFlow. Как по мне, библиотека отличается от своих конкурентов более низким порогом входа. Качество сопровождающих материалов так же на уровне, посмотрите, например, это видео: https://www.youtube.com/watch?v=cSKfRcEDGUs

А вот по этому туториалу (https://codelabs.developers.google.com/codelabs/tensorflow-for-poets/index.html) можно обучить сеть, которая различает различные виды цветов (одуванчики, розы, тюльпаны и т.д.). Все разворачивается несколькими командами в Docker контейнере. Тренировочный датасет с цветами прилагается

Если собирайтесь попробовать, то готовтесь - уйдет больше часа на обучение сети. Но результаты стоят потраченного времени

#MachineLearning #TensorFlow
Интересные слайды из презентации Мэри Микер "internet trends 2016" с кратким описанием поколений

Интересно, в будущем будут описывать поколонеие после миллениалов?

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