Самая распространенная архитектура нейронной сети, состоящая из одного входного слоя (зеленый), двух скрытых слоев (синий) и одного выходного слоя (серый).
Источник
Так, входной слой принимает данные извне сети и разбивает их на несколько различных форматов (или категорий), например если это искусственная нейронная сеть для обработки изображений, то это будут такие форматы, как яркость, контраст, цвет, линии и прочие характеристики изображений. Дальше эти фрагментированные данные передаются в скрытые слои, которые с помощью простых вычислений ищут в этих данных закономерности (скрытые корреляции). В конце выходной слой как бы подытоживает все эти расчеты и выдает ответ в форме прогноза, действия и / или заключения. Если ответ верный или выше некоторого порога «правильности», то сеть «усиливает» цепочку нейронов (вычислений), которые его дали, и наоборот.
Алгоритм процесса обучения искусственной нейронной сети.
Источник
На практике это работает следующим образом. Допустим, вы хотите
создать приложение, которое будет «говорить», какое животное есть на фотографии. В этом случае вам нужна будет нейронная сеть, которая будет разбивать фото (входные данные) на небольшие фрагменты с помощью входного слоя. Дальше скрытые слои будут обрабатывать эти фрагменты и искать среди них признаки того или иного животного и подводить итоги (есть ли на фото животное и какое) с помощью выходного слоя.
При этом для обучения такой искусственной нейронной сети потребуется большое количество фотографий с животными (и без) в самых разных вариациях их внешнего вида, расположения на фото, фона и т.д.
Схема работы NN для поиска животных на фото.
Источник
Области применения нейронных сетей
Электронная коммерция. Чаще всего мы сталкиваемся с нейронными сетями в онлайн-магазинах, которые анализируют наши прошлые запросы и персональные данные, чтобы дать рекомендации по покупке товаров и даже создают специально под каждого пользователя какую-то акцию или распродажу (этот прием также очень популярен в мобильных играх и играх-сервисах). Кроме этого, NN также применяют для оптимизации публикации объявлений, создания фотографий и 3D-моделей товаров, а также для коммуникации с клиентами посредством аудио- и чат-ботов.
Нейронная сеть PixelDTGAN делает снимки одежды, которую носят модели, и на их основе создает коллажи фотографий одежды для витрин
Онлайн-кинотеатры и видеосервисы. Следующая отрасль, где мы также очень часто сталкиваемся с нейронными сетями, — это различные поставщики контента (Spotify, Netflix, YouTube, TikTok). Почти все, что мы смотрим и слушаем на этих площадках, — это контент, предоставленный по рекомендации ИИ. Кроме того, эти платформы также используют нейронные сети для улучшения качества предоставляемого контента: если у вас слабый интернет, система автоматически подстраивает качество видео или аудио под текущею скорость интернет-соединения.
Розничная торговля и продажи. На этом направлении нейронные сети оптимизируют цепочки продаж и логистические пути, борются с мошенничеством и кражами, считают товары на полках магазинов и на складах, улучшают маркетинг и многое другое. Самый яркий пример — это «умный» магазин Walmart в Левиттауне, штат Нью-Йорк, где ИИ на основе нейронной сети отслеживает наличие товаров на полках и следит, чтобы среди них не было просроченных товаров. Кроме этого, искусственный интеллект Walmart наблюдает за продавцами и клиентами для предотвращения краж, мошенничества и других нарушений.
Финансы и банковское дело. В данной области нейронные сети в основном используются для анализа, прогнозирования и борьбы с мошенничеством. Так, программные решения SAS Real Time Decision Manage помогают банкам принять решения о том, выдавать или нет кредит. NN Finprophet применяют для прогноза движения рынков (фиат, криптовалюты, фондовые рынки). Citibank разработали искусственный интеллект для предотвращения мошенничества, связанного с банковскими картами. JP Morgan Chase использует нейросети для оптимизации документооборота, анализа рынков и соблюдения KYC/AIM.
Автомобильная отрасль. Здесь искусственные нейронные сети применяются для оптимизации и автоматизации таких процессов — от создания новых моделей авто до управления механизмами, которые их создают. Кроме этого, NNs в автоотрасли также используются в качестве автопилотов — ИИ Tesla тому яркий пример. И хотя такие решения все еще неидеальны, но можно не сомневаться, что со временем все автомобили будут управлялся NNs, поскольку это безопаснее и дешевле.
Зрение автопилота Tesla, созданного на базе нейронных сетей.
Источник
Здравоохранение. Самое известное решение на базе NN в области здравоохранения — это ИИ IBM Watson Health, который был
создан для постановки диагноза на основании жалоб пациента и анамнеза, а также для формирования лучшей схемы лечения. И хотя этот ИИ оказался не самым удачным проектом IBM, но он показал, что нейронные сети на самом деле могут многое сделать в медицине. Подробно об этом мы писали в статье: «
Нейронные сети в сфере здравоохранения».
Страхование. Страховые компании также часто используют нейронные сети, например для прогнозирования коэффициентов убыточности, выявления разного рода мошеннических схем, корректировки премий и прочего. Так, платформа на базе NN Allstat анализирует данные по каждому водителю и в зависимости от его «склонности к авариям» выставляет им персональную страховую ставку.
Логистика. В этой области нейросети занимаются почти всеми процессами — от формирования оптимальных путей доставки и управления дронами до назначения людей на конкурсные рабочие позиции, исходя из их опыта и навыков. Яркий пример — такие платформы в Amazon или ETA Windward Maritime (это AI от FourKites), где почти все процессы так или иначе используют ИИ на базе нейронных сетей.
ETA Windward Maritime AI™ предоставляет грузоотправителям, перевозчикам и грузополучателям самое точное расчетное время прибытия для морских перевозок.
Источник
Умные помощники. NNs также используются для коммуникации с пользователями посредством голосовых или чат-ботов. Если вы клиент Apple, Google или Microsoft, вы наверняка взаимодействовали с Siri, Google Ассистент и Cortana соответственно.
Особенности разработки нейронных сетей
Данные. Главное, что нужно для разработки искусственной нейронной сети, — это большой набор данных (примеров) для обучения этой сети. Например, если вы хотите создать нейронную сеть для распознавания людей по фото, то вам нужны сотни тысяч, если не миллионы, фотографий людей. Если вы хотите создать приложение для прогнозирования финансовых рынков, то вам будут нужны исторические данные по этим рынками и/или интеграция с агрегатором, который собирает данные по этим финансовым рынкам в режиме реального времени.
И если в случае с фотографиями и финансовыми рынками собрать эти данные относительно просто, то во множестве других случаев такие данные собрать будет либо очень сложно, либо вовсе невозможно. К примеру, вы вряд ли сможете собрать много данных по авариям и еще меньше у вас будет данных по взрывам массивных звезд в нашей галактике. В таких случаях вам нужно будет либо использовать синтетические данные для обучения NN, либо отказаться от NN.
Процесс разработки нейросетей. Создание и обучение модели искусственной нейронной сети — это сложный процесс, который обычно требует много времени и денег. И хотя сейчас есть несколько библиотек (NeuroLab, ffnet, SciPy, TensorFlow, Scikit-Neural Network), которые помогают ускорить и упростить этот процесс, но они применимы лишь в ограниченном количестве (типовых) случаев и часто не подходят для создания уникальных решений, ориентированных на конкретный бизнес.
Стандартный алгоритм разработки нейронных сетей.
Источник
Стоимость создания нейросети. Разработка нейронной сети — это не только долго и сложно, но и довольно дорого. К примеру, зарплата старшего инженера по разработке нейронных сетей может достигать 135 000 долларов в год в США и 100 000 долларов в год в Великобритании и Евросоюзе. Для сравнения ставка обычного
разработчика программного обеспечения в этих странах составляет 87 000 и 77 000 долларов в год соответственно. Если
нанимать разработчиков искусственных нейронных сетей в Восточной Европе, например в Украине, то здесь зарплата хорошего специалиста будет составлять от 30 000 долларов в год.
Таблица составлена на основе данных Indeed
Техническая экспертиза разработчика. Создание и обучение NNs требует от команды разработчиков довольно специфических знаний в области искусственных нейронных сетей, машинного обучения и искусственного интеллекта. Однако кроме этого, разработчики также должны быть просто хорошими программистами, отлично разбирающимися в полярных языках программирования и прочих инструментах разработки. Вот ориентировочный стек технологий, который вы можете использовать для оценки технической
экспертизы разработчиков NNs.
Как нанять разработчика нейронных сетей
Вот простой алгоритм, который поможет вам найти лучшего разработчика нейронных сетей для запуска вашего проекта независимо от его направления и сложности.
Этап 1: Составление лонг-листа
Задача: составить список из 20-50 компаний, к которым вы теоретически можете обратиться для первого разговора о разработке модели нейронной сети.
Что происходит: вы ищете в Facebook, LinkedIn, Clutch.co, Goodfirms.co, Upwork, Toptal и на других площадках компании, которые занимаются созданием нейронных сетей. Помимо этого, вы можете спросить коллег и партнеров, известны ли им такие компании. Также вы можете посмотреть, кто разработал NN ваших конкурентов. При этом нужно искать не просто хороших разработчиков нейронных сетей, а компании, специализирующиеся в нужном вам направлении. К примеру, если вы намерены создать криптовалютный кошелек или биржу, то вам нужен технический партнер с опытом разработки в области криптовалют и блокчейна, такой как Merehead.
Этап 2: Знакомство с компаниями из лонг-листа
Задача: сократить лонг-лист до 5-10 компаний.
Что происходит: вы связываетесь с кандидатами из лонг-листа с помощью телефона, мессенджера или электронной почты. В случае мессенджера ответ нужно ждать в течение часа, e-mail — в течение дня. Если время ожидания больше, то это обычно указывает на плохо налаженную коммуникацию с клиентами, что может создать множество проблем в процессе разработки нейронной сети.
При первом разговоре вас попросят рассказать о вашем проекте: для чего нужна нейронная сеть, ваши бизнес-цели и задачи, целевая аудитория и прочее. Дальше разработчик должен сказать, есть ли у них возможность закрыть вашу потребность и подтвердить это аналогичными проектами в портфолио и/или высокой экспертизой своей команды разработчиков. На основе этого разговора вы можете отсеять кандидатов, которые не подходят вам по навыкам или условиям.
Вот несколько советов, которые помогут вам в этом:
- Долго не отвечают. Если с вами связываются через несколько дней после первого звонка, имейла или подачи заявки, это показывает, что у компании- кандидата сложности с обработкой запросов клиентов. Это в свою очередь говорит о том, что вы с высокой долей вероятности столкнетесь с такими же трудностями во время непосредственной разработки. Лучше этого избежать.
- Задают мало вопросов. Для большинства заказчиков разработка модели нейронной сети — это то, с чем они сталкиваются впервые. Поэтому они не могут сами продумать функциональность сайта или приложения от экрана онбординга до кнопки «Оплатить». Все это разработчик должен выяснить, объясняя механику сайта/приложения и задавая наводящие вопросы.
- Спрашивают о бюджете, а не о задаче. Если во время первого контакта кандидат больше интересуется вашим бюджетом, а не потребностями, это свидетельствует о его низкой заинтересованности в ваших потребностях. Такие компании вряд ли смогут создать качественное NN-решение.
- Торопят события. Разработчиков, которые стремятся как можно быстрее прислать вам оффер и заключить договор, также следует избегать.
От компаний, которые прошли ваш отбор в шорт-лист, вы ждете оффер (коммерческое предложение). Обычно на его составление нужно два-три дня.
Этап 3: Изучение коммерческих предложений
Задача: изучить коммерческие предложения.
Что происходит: после изучения офферов вы договариваетесь с кандидатами о том, чтобы они провели презентацию их предложения: как они видят ваш проект, как будут достигать поставленных бизнес-целей и задач, за какие деньги и в какие сроки. Такая презентация обычно занимает около 30 минут, еще час-полтора займут уточняющие вопросы и ответы на них. Если проект сложный и / или нестандартный, презентация может проводиться в несколько этапов и разработчик при этом может изменить свое коммерческое предложение — это нормальная практика.
Этап 4: Выбор технического партнера
Задача: начать разработку нейронной сети.
Что происходит: вы делаете окончательный выбор, после чего еще раз проговариваете все условия и наконец подписываете договор на разработку программного обеспечения и, если нужно, соглашение о неразглашении (NDA). После этого выбранный вами технический партнер запускает процесс разработки и обучения модели искусственной нейронной сети. Как именно это происходит, мы подробно описали в статье: «Как внедрить нейронные сети в бизнес».
Чем мы можем помочь
Наша компания предлагает широкий спектр услуг по разработке искусственного интеллекта на базе машинного обучения и нейронных сетей — от чат-ботов для онлайн-магазинов до инструментов для анализа и прогнозирования финансовых рынков. Свяжитесь с нами по телефону +1-206-785-16-88 или с помощью имейла sales@merehead.com. Наши консультанты расскажут вам о всех нюансах разработки нейронных сетей и дадут ответы на все ваши вопросы.
Будем рады сотрудничеству!