Ну и что мне для этого надо знать?

Первым делом, учи английский.

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

Научись программировать.

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

  • Он очень хорошо поддерживается Data Science сообществом. Есть большое количество библиотек и фреймворков, которые постоянно обновляются и обрастают всё более новыми и крутыми фитчами.
  • Очень большое и адекватное Data Science комьюнити.
  • Хорошая и подробная документация языка и всех библиотек. Да, на английском. Но человеку, не знающему английский, не стать кем-то выше ламера.
  • Огромное количество ответов на вопросы. Чаще всего можно найти ответы на Stack Overflow и GitHub. И опять английский. Да, большая часть ответов на английском. Учите, учите.
  • Досточно простой и удобный синтаксис.
  • И да, есть огромное количество всяческих курсов, на которых учат машинному обучению. И в большинстве случаев, там используют python.

Учи математику.

Хм, data scientist — это та самая профессия, где нужен вышмат и не только. Думаю, далеко не всем понятно, что это такое:

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

А теперь можно и учить Machine Learning.

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

Итог.

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

December 2, 2018
by Семён Коробейников
0
10
Нейронные сети

ML? DL? NN? Что это, и почему вокруг этого столько хайпа?


Так, давайте для начала обговорим несколько моментов, для лучшего понимания:

  1. Искусственный интеллект (ИИ; англ. artificial intelligence, AI) — наука и технология создания интеллектуальных машин и интеллектуальных компьютерных программ.
  2. Нейрон (от др.-греч. νεῦρον — волокно, нерв) — функциональная единица нервной системы.
  3. Если что-то непонятно — не беда. Либо сам с опытом поймёшь, либо можешь писать свои вопросы автору, я очень постараюсь ответить.

Ну, и что за зверь, этот ваш ML?

Давайте спросим у великой и могучей Википедии.


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


Мне кажется, не у всех сложилась нормальная картинка о том, что же такое ML. Поэтому я постараюсь сейчас вам объяснить по-человечески.


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

А можно сделать по-умному и заставить программу саму искать эти различия и научиться понимать, кошка или собака на фото. А как же она будет обучаться? Ну, мы дадим программе фото кота и скажем: "Смотри, это кошак", затем покажем собаку и скажем, что это собака. А теперь надо повторить это несколько десятков тысяч раз. И — о, чудо — программа научилась их различать.


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


Окей, а что насчет NN и DL?

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


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

Что такое глубокое обучение (англ. deep learning, DL)? Ну, очень грубо говоря, это большая и сложная нейронная сеть с большим количеством слоёв нейронов. Что именно это такое, почему и зачем, я закажу в одном из следующих постов.


А нахрена нам все это? 

Ну, применений очень много:

  1. Медецина (анализ раковых опухолей, постановка диагноза и создание плана лечения и т.д.)
  2. Транспорт (беспилотные автомобили, общественный транспорт, автопилот на самолете и т.д.)
  3. Экономика (выбор выигрышной стратегии, предсказание курсов валют, решение о выдаче кредита и т.д.)
  4. Астрономия и космонавтика (анализ звёздных карт, пилотирование космическими апаратами и т.д.)
  5. Медиа (обработка фото, создание и обработка спецэффектов, создание медиа контента и т.д.)
  6. Ладно, я устал перечислять. Нейронные сети можно впихнуть почти куда угодно.
November 28, 2018
by Семён Коробейников
0
31
Show more