Пора победить мракобесие по теме: ИИ, нейронных сетей и машинного обучения. Часть 2.1. Общие сведения о нейронных сетях.

Пора победить мракобесие по теме: ИИ, нейронных сетей и машинного обучения. Часть 2.1. Общие сведения о нейронных сетях.

Digital хейтер
Одни из самых известных примеров работы нейросетей.

На картинке выше пример работы сервисов на основе нейросетей. Тот что слева это продукт microsoft how-old.net, который по фото пытается определить возраст человека. Справа - сервис prisma, который обрабатывает фотографии словно это полотна одно из великих художников.

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

Технология нейросетей - это перенос архитектуры человеческого неокортекса (он располагается в верхнем слое полушарий человеческого мозга) в плоскость компьютерной программы. Эта часть нашего мозга отвечает за распознавание зрительных, слуховых и прочих чувственных образов, классификацию объектов, принятие решений, логику и обучение. Тут интересный факт в том, что неокортекс переводится как "новая кора", то есть новые области коры головного мозга, которые у низших млекопитающих только намечены, а у человека составляют основную часть коры. Собственно именно он и послужил тем, что дало такой бурный толчок распространению и захвату человеком планеты. И поскольку это самый ценный элемент тела нашего биологического вида, именно его мы и пытаемся усердно повторить, чтобы увеличить его мощь и поставить себе на службу.

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

Олицетворение программы старого формата

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

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

Верхний ряд в армии не служил, а вот нижний - все как на подбор, 2 года отмаршировали.

Основной мем в этой ситуации в том, что человек (автор нейросети) не принимает участия в составлении отличительных черт мужчин, склонных к мужеложству. То есть человек не знает, почему нейросеть посчитала, что вы гомик. Она вам не скажет. Это закопано очень глубоко в алгоритме, и просто так этот набор признаков не достать в удобном для человеческого восприятия виде. Может волосы длинные, а может свитер красный, а может зубы слишком белые.

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

Если обучающая выборка была слишком маленькой (а 10 000 - это очень маленькая выборка), то нейросеть может принимать совершенно странные решения, которых человек никогда бы не допустил. Чтобы вы понимали масштабы, мы с вами снова должны вернуться к аналогии с человеческим мозгом. Сколько "фотографий" или "кадров" воспринимает наш мозг в течение дня? Исследования говорят о числе возле 3-4 миллиардов. То есть за день мы с вами просматриваем как минимум 3 000 000 000 фотографий. Конечно, это совершенно разные объекты и сцены. Но за месяц, и тем более за год, у нас набирается отличная выборка.

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

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

Собственно поэтому существует 2 метода обучения нейросети:

  1. С учителем. Это когда учитель подготовил учебные материалы, а потом проводит тест и поправляет ученика, когда тот делает ошибки, чтобы ученик лучше усвоил материал.
  2. Без учителя. Это когда вы берете ящик петард, поджигаете каждую по отдельности и смотрите, что произойдет. По итогам классифицируете петарды, например, на очень опасные и менее опасные.


Пример обучения с учителем и без

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

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

Но не торопитесь! Отличный пример с опровержением вышесказанного - это медицинская диагностика. Казалось бы, медицине уже 100 лет, в ней работают миллионы врачей, существует куча современных средств диагностики, вроде МРТ и КТ. Но самое забавное в том, что процент верных диагнозов сейчас в развитых странах составляет 24%. Страшная цифра, не правда ли? Проблема в том, что для того, чтобы стать хорошим диагностом - нужно очень-очень-очень много практики. Кроме того, до сих пор не поддерживается единая база результатов анализов и снимков и их диагнозов. Очень тяжело учиться, когда у вас нет достаточно большой выборки.

Так вот, группа ученых в одном из университетов США решила начать работать над этой проблемой при помощи нейросети. Они взяли одну из форм рака легких. Собрали около 100 000 снимков больных в разных стадиях этого заболевания (читал про то, как они это делали - просто адский труд, ссылку к сожалению потерял), и загнали их в нейросеть без учителя. Заодно добавили фото здоровых людей, чтобы нейросеть могла отличить признаки развития заболевания на максимально ранних сроках. По итогам ее работы выяснилось, что те признаки, которые считались официальной медициной симптомами этого рака легких - фигня. На большой выборке данных это просто не подтвердилось, но зато были выявлены другие закономерности, которые помогли иначе взглянуть на проблему.

Как понимаете, если бы обучение было с учителем, то нейросеть рассуждала бы мерками опыта человека, а не голыми фактами.

Пожалуй хватит на сегодня. В следующей статье будет еще интереснее.


Материал из telegram-канала Digital хейтер

Поделитесь этой статьей:

Вконтакте или Facebook