From 0964237b51b11981bf4173b934a427dad96b3c9e Mon Sep 17 00:00:00 2001 From: Rustem Galiullin Date: Sun, 21 Jun 2020 16:41:27 +0400 Subject: [PATCH] review and update 3 articles by Aigul (#4) * Update 2020-05-01-start.md * change title, add intro and fix comments * Review article 20 June 2020 * Review article 20 June 2020 * Review article OCR * Update 21 June 2020 Co-authored-by: JulieKazan <66546754+JulieKazan@users.noreply.github.com> --- _posts/2019-04-30-ocr.md | 130 ++++++++++------------------ _posts/2019-07-25-distinct-count.md | 53 ++++++------ _posts/2020-05-01-start.md | 125 +++++++++----------------- 3 files changed, 113 insertions(+), 195 deletions(-) diff --git a/_posts/2019-04-30-ocr.md b/_posts/2019-04-30-ocr.md index 2fb2c47..ac5dcc2 100644 --- a/_posts/2019-04-30-ocr.md +++ b/_posts/2019-04-30-ocr.md @@ -1,23 +1,18 @@ --- -title: Распознавание текста на изображениях +title: Как создать алгоритм распознавания текста на изображениях date: 2019-04-30 minutes: 8 --- -Как потомки героев войны могут отследить боевой путь своих предков? -В послевоенные годы в архивых страны накопилось множество документов -обо всех призывника, их назначениях, боевом пути, а также их судьбе. -Оцифровка этих документов - трудоемкий и долгий процесс, ускорить которой -вполне возможно за счет технологии распознавания текста (OCR). +Как потомки участников войны могут отследить боевой путь своих предков? В послевоенные годы в архивах страны накопилось множество документов о судьбе, боевом пути и назначениях людей, участвовавших в войне. Оцифровка этих документов - долгий и трудоемкий процесс, ускорить которой возможно благодаря технологии распознавания текста – OCR. ### Как это работает -Как и многие другие задачи в компьютерном зрении распознавание текста в картинках -состоит из двух этапов: -1. Найти текст в изображении -2. Распознать символы, буквы и цифры, найденные на первом этапе +Как и многие другие задачи в компьютерном зрении распознавание текста на картинках состоит из двух этапов: +1. Поиск текста на изображении. +2. Разпознавание букв, цифр и символов, найденных на первом этапе. -_Возьмем как пример такое изображение_ +_В качестве примера возьмем такое изображение_ Посадочный талон - билет на Марс @@ -25,53 +20,37 @@ _Поиск текста на изображении_ Результат поиска текста -С использованием открытого детектора текста нам удалось найти 55 текстовых областей. -Причем заметно, что горизонтальный текст обнаруживается лучше (более точные прямоугольники) -вне зависимости от размера и шрифта. Также отметим, насколько хорошо детектор видит -пробелы - слова на 1 строке попали в разные прямоугольники. +С использованием открытого детектора текста нам удалось найти 55 текстовых областей. Причем заметно, что горизонтальный текст благодаря более точным прямоугольникам обнаруживается лучше вне зависимости от размера и шрифта. При этом пробелы после слов на первой строке попали в разные прямоугольники. _Распознавание обнаруженного текста_ Распознавание текста -Как видим, в случаях когда текст ровный ("BOADRDING", "MARS", "2020"), четко видны буквы и цифры, -алгоритму [tesseract-ocr](https://github.com/tesseract-ocr/tesseract/wiki) -легко удается правильно определить весь текст. Хорошая точность достигается -за счет рекуррентных нейросетей, которые лучше всего справляются с последовательностью данных. -Однако когда появляется некий шум как в примерах ("STATION", "SCHEDULED") в результате добавляются ненужные символы. -На последних двух изображениях не удается определить легитимного текста вообще: пример того, -как ошибки первого этапа поиска текста влияют на распознавание текста. - -### Адаптация OCR под свою задачу - -Тогда как возможно использовать открытые алгоритмы, для достижения наивысшей точности -целесообразно обучить нейронные сети для работы с собственным -набором данных. Обучение алгоритмов также происходит в 2 этапа: детекция текста и распознавание. -При обучении потребуются размеченные данные в большом количестве, что может быть затратно -для небольших и средних компаний, поэтому возможно комбинировать собственный массив текстовых изображений с -открытыми наборами данных. Нередко для увеличения обучающей выборки данные синтезируются -самими разработчиками. - -При обучении собственного алгоритма также учитывается целевое применение. Если алгоритм -должен работать на мобильных устройствах или в режиме реального времени, то выбираются легковесные -модели; если предполагается, что изображения содержат немного текста, то можно объединить детекцию -и распознавание в 1 модель для увеличения скорости обработки. +Если текст ровный ("BOADRDING", "MARS", "2020") и четко видны буквы и цифры, алгоритму [tesseract-ocr](https://github.com/tesseract-ocr/tesseract/wiki) легко удается правильно определить текст. Хорошая точность достигается +за счет рекуррентных нейросетей, которые лучше справляются с последовательностью данных. + +Однако, если возникает какой-либо шум, как в примерах ("STATION", "SCHEDULED"), то в результате добавляются ненужные символы. +На последних двух изображениях не удается определить текст. Это пример того, как ошибки первого этапа поиска текста влияют на его распознавание. + +### Адаптация OCR под вашу задачу + +Учитывая возможность использовать открытые алгоритмы, для достижения наивысшей точности целесообразно обучить нейронные сети для работы с собственным набором данных. Обучение алгоритмов также происходит в два этапа: детекция текста и распознавание. + +В процессе обучения потребуется большое количество размеченных данных. Это может быть затратно для небольших и средних компаний, поэтому возможно комбинировать собственный массив текстовых изображений с открытыми наборами данных. Нередко для увеличения обучающей выборки разработчики самостоятельно синтезируют данные. + +При обучении собственного алгоритма нужно учитывать целевое применение. Если алгоритм должен работать на мобильных устройствах или в режиме реального времени, целесообразно выбрать легковесные модели. Если изображения содержат немного текста, то для увеличения скорости обработки можно объединить детекцию и распознавание в единую модель. Распознавание текста на паспорте РФ источник -При обучении нейронных сетей под свою задачу можно достичь такого же результата, как на изображении выше. -Алгоритмы достаточно хорошо находят текст и оцифровывают его, причем распознается только целевой текст и -правильно классифицирует такие схожие сущности как имя и фамилия, серия и номер, и т.д. -Высокое качество достигается за счет обработки сразу нескольких последовательных кадров, что -позволяет снизить уровень шума. +При обучении нейронных сетей под собственную задачу вы сможете достичь такого же результата, как на изображении выше. +Алгоритмы достаточно хорошо находят текст и оцифровывают его. Причем алгоритм распознает только целевой текст. Затем система правильно классифицирует такие схожие сущности как имя и фамилия, серия и номер, и т.д. Высокое качество достигается за счет обработки сразу нескольких последовательных кадров, что позволяет снизить уровень шума. ### Рукописный текст -В разпознавании рукописного текста иная ситуация. На данный момент нет универсальных алгоритмов, которые могли бы применяться -для любого рукописного текста хотя бы на 1 языке. Данная проблема решается посегментно - в большинстве случаев -компании могут решать свои узкоспециализированные задачи за счет оцифровки рукописного текста. +Иная ситуация с разпознаванием рукописного текста. На данный момент нет универсальных алгоритмов, которые могли бы применяться +для любого рукописного текста хотя бы на одном языке. Проблема решается посегментно - в большинстве случаев компании могут решать узкие задачи благодаря оцифровке рукописного текста. _Оцифровка рукописного текста с помощью открытых алгоритмов_ @@ -80,24 +59,21 @@ _Оцифровка рукописного текста с помощью отк recognize handwriting -Хотя и алгоритмы способны определить рукописный текст также как и машинный, полнота распознавания заметно ниже. -Однако судя по распознаванию найденного текста, мы видим, что даже легкие слова как (_"and"_, _"neat"_) распознаются неверно, -причем даже сама длина слова определяется неверно. -Единственный выход - обучать нейронные сети, заточенные под конкретный формат и топологию текста. +Несмотря на то, что алгоритмы способны определить рукописный текст, полнота распознавания заметно ниже в сравнении с печатным. +Однако на примере распознавания найденного текста, мы видим, что даже легкие слова как (_"and"_, _"neat"_) распознаются неверно. При этом даже длина слова определяется ошибочно. Единственный выход - обучать нейронные сети, заточенные под конкретный формат и топологию текста. ### Применение OCR -OCR - активно развивающаяся сфера, так как применений у данной технологий очень много. -Вот только некоторые из них: -* распознавание данных с документов, как персональных (паспорт, ИНН и т.д.) так и деловых (акты, счета, накладные и т.д.) -* оцифровка бумажных документов, архивов +OCR активно развивается. Это обусловлено широким спектром кейсов практического применения этой технологии. + +Вот лишь некоторые из них: +* распознавание данных с документов, как персональных (паспорт, ИНН и т.д.), так и деловых (акты, счета, накладные и т.д.) +* оцифровка бумажных документов и архивов * распознавание автомобильных номерных знаков * [мгновенный фото-переводчик](https://translate.yandex.com/ocr) * распозавание данных с банковской карты для быстрого перевода денег -В-общем, технология OCR может внедрятся в любой деятельности, в которой необходимо создать альтернативу ручному вводу данных, -чтобы снизить трудоемкость, процент ошибок или увеличить скорость обработки данных. Другая цель -развертывания OCR - сбор данных - например, нанесение адресов жилых домов на карты с данных уличной фотосъемки. +Технология OCR может применяться в любой деятельности, где необходимо создать альтернативу ручному вводу данных для снижения трудоемкости, процента ошибок или увеличения скорости обработки данных. Еще одна цель развертывания OCR - сбор данных. Например, нанесение адресов жилых домов на карты с использованием данных уличной фотосъемки. _Пример детекции и распознавания текста (Счет на оплату)_ @@ -106,45 +82,27 @@ _Пример детекции и распознавания текста (Сч recognize invoice -Как видим на изображении слева детекция с помощью открытых алгоритмов показывает среднее качество: -прямоугольники хорошо покрывают текст на изображении, однако много пересечений между прямоугольниками. -На изображении справа (восстановленном после распознавания найденного текста) отчетливо понятно, -что такой алгоритм нельзя применить в промышленном масштабе, так как придется иметь дело с большим количеством неточностей. -К счастью, такие проблемы решаются достаточно легко с помощью обучения собственных нейросетевых алгоритмов. +Как видим на изображении слева – детекция с помощью открытых алгоритмов показывает среднее качество: прямоугольники хорошо покрывают текст на изображении, однако между ними есть много пересечений. На изображении справа, восстановленном после распознавания найденного текста, отчетливо понятно: такой алгоритм нельзя применить в промышленном масштабе. Иначе придется иметь дело с большим количеством неточностей. К счастью, такие проблемы решаются достаточно легко с помощью обучения собственных нейросетевых алгоритмов. ### Сложности реализации -При реализации проектов в области распозанавания текста на картинках возникает немало сложностей. -Сложности возникают на разных стадиях и решаются совершенно разными методами. +При реализации проектов по распозанаванию текста на картинках возникает немало сложностей. Они могут возникнуть на разных этапах и решаться совершенно различными методами. - **Шум во входных данных**. Как и в любых других проектах, связанных с компьютерным зрением, на качество распознавания влияет -качество съемки: смазанность текста, блики на глянцевых документах или плохое освещение неминуемо -приведут к потерянным данным. Для борьбы с таким шумом необходимо мотивитировать самого пользователя -минимизировать низкокачественные фото на этапе съемки. -- **Топология текста**. Тогда как для человека не составляет труда -разделить слова пробелами или разбить параграф на разные строки, то для алгоритмов это дополнительная -сложность. Целесообразнее уже на этапе разметки данных понимать, каким образом будет применяться модель, -и создать аннотацию, которая будет отражать разные строки и слова при необходимости. Если это не было -учтено, то возможно, хотя это менее эффективно, применить классические методы -компьютерного зрения по отделению фона от полезной информации. -- **Очистка полученного текста**. -Как видно на примерах выше не всегда удается получить точный результат, поэтому выходные данные -от нейронных сетей можно и нужно дополнительно обрабатывать, чтобы устранить известные нам косяки. -Здесь чаще всего применяются методы обработки естесственного языка, такие как регулярные выражения, -заданные словари или распознавание именованных сущностей. +качество съемки. Смазанность текста, блики на глянцевых документах или плохое освещение неминуемо приведут к потере данных. Для борьбы с таким шумом необходимо мотивировать пользователя минимизировать низкокачественные фото на этапе съемки. +- **Топология текста**. Если для человека не составляет труда разделить слова пробелами или разбить параграф на разные строки, то для алгоритмов это представляет дополнительную сложность. Целесообразнее уже на этапе разметки данных понимать, каким образом будет применяться модель. Далее необходимо создать аннотацию, которая при необходимости будет отражать разные строки и слова. Также возможно, хотя это менее эффективно, применить классические методы компьютерного зрения по отделению фона от полезной информации. +- **Очистка полученного текста**. Как видно на примерах выше, мы не всегда получаем точный результат. Поэтому выходные данные +от нейронных сетей можно и нужно дополнительно обрабатывать. Это поможет устранить известные нам "косяки". Здесь чаще всего применяются методы обработки естесственного языка. Такие как устойчивые выражения, заданные словари или именованные сущности. ### Вместо заключения -В конце отметим, что для решения конкретной проблемы логично делать поступательные шаги -и с каждым новым шагом улучшать результаты. Например, для внедрения OCR можно последовательно -пройти несколько этапов: -1. Подготовить небольшие тестовые данные из собственных источников для валидации алгоритмов. -На основе этих данных мы будем визуально выбирать лучший алгоритм и определять точность. +Для решения конкретной проблемы логично делать поступательные шаги и с каждым новым шагом улучшать результаты. Например, для внедрения OCR можно последовательно пройти несколько этапов: +1. Подготовить небольшие тестовые данные из собственных источников для валидации алгоритмов. На основе этих данных визуально выбрать лучший алгоритм и с его помощью определять точность. 2. Протестировать открытые алгоритмы на тестовом множестве из этапа 1. **Цель** - понять потенциал применения OCR к этим данным. -3. Обучить нейронные сети на открытых данных наиболее приближенных к своим. +3. Обучить нейронные сети на открытых данных, наиболее приближенных к собственным. **Цель** - разработать первый прототип для развертывания и тестирования внутри. -4. Собрать собственный набор данных и разметить его. **Цель** - получить объемную обучающую и тестовую -выборки для дальнейшей количественной оценки новых алгоритмов. +4. Собрать собственный набор данных и разметить его. +**Цель** - получить объемную обучающую и тестовую выборки для дальнейшей количественной оценки новых алгоритмов. 5. Обучить нейронные сети (сверточные / сверточные + рекуррентные) на собственном наборе данных. -**Цель** - создать модели для промышленного применения с максимально возможной точностью и скоростью работы. +**Цель** - создать модели для промышленного применения с максимальной точностью и скоростью работы. diff --git a/_posts/2019-07-25-distinct-count.md b/_posts/2019-07-25-distinct-count.md index c188442..5e5f916 100644 --- a/_posts/2019-07-25-distinct-count.md +++ b/_posts/2019-07-25-distinct-count.md @@ -5,42 +5,44 @@ minutes: 6 author: Rustem G --- -Тогда как количество посетителей сайтов или онлайн-магазинов и их конверсия измеряется достаточно просто, традиционные точки продаж не всегда могут эффективно оценить свою клиентскую базу, так как достаточно трудоемко посчитать всех людей, которые посещали магазин в течение дня, но не совершали покупки. В этой статей мы разберем, как можно построить систему по подсчету количества уникальных посетителей и других связанных метрик за счет анализа видеоряда с камер наблюдения. +Если количество и конверсия посетителей сайтов или онлайн-магазинов измеряется достаточно просто, то клиентская аналитика традиционных точек продаж – непростой процесс. К примеру, мы хотим посчитать всех людей, посетивших магазин в течение дня, но не совершивших покупки. Как это сделать? + +В этой статье расскажу о системе подсчета количества уникальных посетителей и других связанных метриках с помощью анализа видеоряда с камер наблюдения. ## Традиционные методы -Возможно, все замечали, как при входе в торговый центр специальный человек, часто студент, отмечает посетителей на листочке. Стоит только догадываться, что происходит дальше: вероятнее всего листочки со всех входов сводятся в одну кучу и данные суммируются. У -такого решения сразу можно отметить несколько крупных недостатков: -- **невысокая точность** - не учитывается уникальность посетителей, например когда один и тот же человек прошел через несколько входов, а также не исключается человеческие ошибки при вводе данных; -- **не масштабируется** - для каждой новой точки входа нужен новый человек и растут расходы на оплату труда; -- **неполное** - нельзя измерить другие показатели, помимо количества людей. Каждый новый атрибут будет увеличивать трудоемкость в два раза. +Возможно, вы замечали при входе в торговый центр человека, который отмечает посетителей на листочке. Можно только догадываться, что происходит дальше. Вероятно, листочки со всех входов сводятся в один список и данные суммируются. У +такого решения можно отметить несколько крупных недостатков: +- **невысокая точность** - не учитывается уникальность посетителей: например, когда один и тот же человек прошел через несколько входов, возможны и человеческие ошибки при вводе данных; +- **не масштабируется** - для каждого входа в магазин нужен отдельный человек, что приводит к росту расходов на оплату труда; +- **неполное** - измерение и анализ дополнительных атрибутов будет кратно увеличивать трудоемкость. -Здесь мы расскажем о том, как мы решали проблему подсчета уникальных посетителей на торговой точке с использованием компьютерного зрения и алгоритмов глубокого обучения. +Здесь расскажу о том, как мы решали проблему подсчета уникальных посетителей на торговой точке с использованием компьютерного зрения и алгоритмов глубокого обучения. ## Этапы разработки -#### Описание задачи +#### Постановка задачи -Для заказчика проекта было необходимо уметь считать сколько человек посещает точку продаж и сколько из них конвертируется в покупателей. Также с точки зрения аналитики продаж заказчик хотел понять в какое время дня и недели наивысшая загруженность, время обслуживания одного покупателя и демографический срез посетителей. +Цель заказчика – посчитать количество посетителей точки продаж и сколько из них конвертируется в покупателей. Также заказчик хотел понять, в какое время дня и недели загруженность достигает пика, узнать среднее время обслуживания одного покупателя и сделать демографический срез. -Таким образом мы декомпозировали весь проект на 4 задачи: +Таким образом, мы декомпозировали проект на 4 задачи: 1. Найти лица на видео. -2. Распознавание лиц для измерения их схожести с друг другом. -3. Кластеризация лиц по схожести и подсчет кластеров, т.е. уникальных посетителей. -4. Аналитика: время посещений, длительность обслуживания, пол и возраст покупателей. +2. Распознать лица, чтобы измерить их схожесть друг с другом. +3. Кластеризовать лица по схожести и подсчитать кластеры, т.е. уникальных посетителей. +4. Проанализировать время посещений, длительность обслуживания, пол и возраст покупателей. Дальше немного подробнее про каждый этап. #### 1. Детекция лиц -Для начала необходимо найти все лица на видеопотоке. Для этого запускаем алгоритм детекции лиц, вырезаем лица и сохраняем все найденные лица для дальнейшей обработки. В результате получаем большое количество изображений, но мы не знаем, какие из этих изображений относятся к одним и тем же людям: +Задача номер один – найти все лица на видеопотоке. Для этого запускаем алгоритм детекции лиц, вырезаем их и сохраняем для дальнейшей обработки. В результате получаем большое количество изображений, но пока не знаем, какие из них относятся к одним и тем же людям: face detection -Для увеличения качества распознавания лиц на следующем шаге будет целесообразно отфильтровать изображения низкого качества, например: -- выбрать изображения определенной высоты и ширины, таким образом, мы только будем анализировать людей, которые находятся в интересующей нас зоне поиска. Нижние и верхние пороги вычисляем эмпирически; -- отсеить нефронтальные и перекрытые лица, так как алгоритм распознавания лиц точнее определяет схожесть, когда есть полное изображение лица; -- удалить размытые изображения, которые часто встречаются на потоках видео с камер без высокой четкости. +Для улучшения качества распознавания лиц на следующем шаге целесообразно отфильтровать изображения низкого качества, например: +- Выбрать изображения определенной высоты и ширины. Таким образом, мы будем анализировать людей, которые находятся в интересующей нас зоне поиска. Нижние и верхние пороги вычисляем эмпирически; +- Отсеить нефронтальные и перекрытые лица, так как алгоритм распознавания лиц точнее определяет схожесть, когда есть полное изображение лица; +- Удалить размытые изображения, которые часто встречаются на потоках видео с камер без высокой четкости. Вот так выглядят нефронтальные изображения лиц, которые мы вычисляем на основании расположения ключевых точек: нос, рот и глаза: @@ -49,28 +51,27 @@ author: Rustem G ##### 2. Распознавание лиц -На данном этапе мы должны создать векторные преставления лиц с помощью моделей распознавания лиц, в точности как в задаче идентификации по лицу, для того чтобы мы могли сравнить схожесть лиц попарно, как на картинке ниже (лица одно и того же человека будут иметь низкие значения): +На этом этапе мы должны создать векторные представления лиц с помощью моделей распознавания, в точности как в задаче идентификации по лицу. Это необходимо, чтобы сравнить схожесть лиц попарно, как на картинке ниже (лица одного и того же человека будут иметь низкие значения): face distances -В некоторых случаях необходимо обучить алгоритм распознавания лиц так, чтобы качество изображений совпадало с качеством изображений в используемой камере. Это необходимо, так как если обучать алгоритм распознавания на фотографиях с высокой четкостью, то модели будут совершать множество ошибок на маленьких изображениях с видеоряда. +В некоторых случаях алгоритм распознавания лиц нужно обучать на изображениях, совпадающих с качеством камеры. Камеры наблюдения в магазинах обычно записывают видео с невысоким разрешением. Если обучать алгоритм по фотографиям высокой четкости, то на изображениях низкого качества модели будут совершать множество ошибок. ##### 3. Кластеризация лиц Теперь обучаем несколько алгоритмов кластеризации на полученных векторах с предыдущего шага и выбираем наиболее подходящий в зависимости от ограничений по вычислительным ресурсам, времени на обработку и точности. -Подбираем методы, которые сами умеют определять количество кластеров, так как мы не можем знать заранее, сколько человек собираются посетить нашу торговую точку. Помимо самой кластеризации, проводим дополнительную пост-обработку: объединяем близкие кластеры и -разделяем кластеры с низким значением внутренней схожести. +Мы не можем знать заранее, сколько человек собираются посетить нашу торговую точку. Поэтому подбираем методы, которые сами умеют определять количество кластеров. Помимо кластеризации проводим дополнительную пост-обработку: объединяем близкие кластеры и разделяем кластеры с низким значением внутренней схожести. face clusters -Соответственно, финальное количество кластеров будет равняться количеству уникальных посетителей, а в каждом кластере будут представлены лица одного и того же человека. +Финальное количество кластеров будет равно количеству уникальных посетителей, а в каждом кластере будут представлены лица одного и того же человека. #### 4. Дополнительная аналитика -Сгруппировав изображения людей в кластеры, рассчитать время и длительность посещений не составит большого труда. +Если сгруппировать изображения людей в кластеры, то не составит большого труда рассчитать время и длительность посещений. -Для проведения демографического анализа потребуется обучение дополнительных алгоритмов распознавания пола и возраста. Далее мы применим эти алгоритмы для каждого кластера лиц и выберем наиболее частое значения для максимизации точности. +Для проведения демографического анализа потребуется обучение дополнительных алгоритмов распознавания пола и возраста. Далее мы применим эти алгоритмы для каждого кластера лиц и выберем наиболее частые значения для максимизации точности. | Распознавание возраста в группы 15-20, 25-35 или 40-50 лет | Определение пола (m - мужской, f - женский ) | | :------------- | :------------- | @@ -78,4 +79,4 @@ author: Rustem G ## Результаты -Добиться очень высоких результатов достаточно сложно, так как качество видеосъемки ниже, чем на фотографиях. Однако представленный подход способен решить задачу на приемлемом уровне для использования в системах, которые не требует медицинской точности или в качестве пред-обработки данных для визуальной верификации человеком. Другим важным уроком для нас стало то, что при работе с потоком видео критическую роль играет подготовка данных для моделей: чем меньше мусора мы подавали на вход, тем меньше мусора получали на выходе. +Качество видеосъемки ниже, чем на фотографиях. Поэтому добиться результатов высокой точности достаточно сложно. Однако описанный подход способен решить задачу на приемлемом уровне. Полученные результаты можно применять в системах, не требующих медицинской точности или в качестве пред-обработки данных для визуальной верификации человеком. Также мы выяснили: при работе с потоком видео критическую роль играет подготовка данных для моделей. Чем меньше мусора мы подавали на вход, тем меньше ошибок получали на выходе. diff --git a/_posts/2020-05-01-start.md b/_posts/2020-05-01-start.md index c304016..26dc80a 100644 --- a/_posts/2020-05-01-start.md +++ b/_posts/2020-05-01-start.md @@ -1,123 +1,82 @@ --- -title: Где начать? +title: Как начать трансформацию компании в эпоху искусственного интеллекта? date: 2020-05-01 minutes: 7 author: Rustem G --- -Краткий пересказ [схемы Эндрю Ына](https://landing.ai/ai-transformation-playbook/) -по трансформации компании в эпоху __искусственного интеллекта__. +Переводить компанию или корпорацию на использование технологии искусственного интеллекта нужно поэтапно. Об этом писал в своей [дорожной карте](https://landing.ai/ai-transformation-playbook/) по трансформации бизнеса в эпоху __искусственного интеллекта__ Эндрю Ын, всемирно известный исследователь алгоритмов машинного обучения и основатель Landing AI. -> ИИ покорит все сферы экономической деятельности, -также как электричество 100 лет назад. -По оценкам к 2030 году добавленная стоимость в мировой ВВП составит -**13 триллионов долларов**. +> ИИ охватит все сферы экономической деятельности, также как электричество 100 лет назад. Оценивается, что к 2030 году добавленная стоимость в мировой ВВП составит **13 триллионов долларов**, – пишет Эндрю Ын. -## Основные этапы +## Основные этапы ИИ-трансформации -#### 1. Пилотный проект +#### 1. Пилотный проект и внешняя команда -Начать нужно с выделения одной проблемы, которую можно решить с помошью ИИ. -Она должна быть решаема в краткосрочной перспективе и -достаточно заметной, чтобы ее устранение -привлекло внимание высшего руководства. +Компания преуспеет быстрее, если начнет ИИ-трансформацию с решения какой-то одной проблемы с использованием ИИ. Задача должна быть заметной и решаемой в краткосрочной перспективе. Это с большей вероятностью привлечет внимание высшего руководства организации. -Выполнение задачи можно возложить на внешнюю команду, с четко определенными -бизнес показателями. +Для пилотного проекта в сфере ИИ можно привлечь внешнюю команду. Главное при этом четко определелить целевые бизнес показатели. -По завершении, необходимо измерить успех и донести информацию до других команд, -чтобы вовлечь их интерес к решению новых задач. +В завершение проекта измерьте результаты и проинформируйие о них другие команды. Это поможет пробудить в них интерес и привлечь к решению новых задач. #### 2. Внутренняя команда -Для достижения долгосрочных целей целесообразно построить команду -ИИ энтузиастов внутри компании. Это повлечет за собой создание или адаптацию -вычислительной инфраструктуры, включение в процесс найма соответствующих -специалистов, кооперацию между различными подразделениями и т.д. +Для достижения долгосрочных целей постройте команду ИИ энтузиастов внутри компании. В дальнейшем создайте или адаптируйте вычислительную инфраструктуру, наймите профильных специалистов, проведите кооперацию между различными подразделениями. В процессе нужно будет решать и другие важные задачи, но главное выстроить сквозной процесс. -Состав команды может включать: - - членов высшего руководства - с их поддержкой будет легче добиваться - заметных результатов - - продакт-менеджеров - они понимают продукты компании, видят узкие места - и могут оценить, где внедрение машинного обучения будет максимально полезно - - специалистов по анализу больших данных и машинному обучению - техническое - решение проблем будет возложено на них +В команду включите: +- членов высшего руководства - с их поддержкой будет легче добиться заметных результатов +- продакт-менеджеров - они понимают продукты компании, видят узкие места и могут выделить сферы, где внедрение машинного обучения будет максимально полезно +- специалистов по анализу больших данных и машинному обучению - на них будет возложено техническое решение проблем -Наличие внутренной команды будет являться ключевым фактором создания -**конкурентного преимущества** на рынке. +Создание внутренной команды впоследствие станет ключевым **конкурентным преимуществом** на рынке. #### 3. Обучение -Широкое обучение об основных принципах ИИ является необходимым элементом -ввиду ряда причин: - - новыe подходы решения старых задач вызывают сопротивление у консерваторов - - отсутствие ответов на вопросы "как, сколько и для чего" вызывает естественные - страхи - - дефицит специалистов на внешнем рынке - -Для адаптации сотрудников компании к новым реалиям предалагется разбить -обучающихся на 3 группы: - 1. Менеджмент высшего звена. Для них важно понимать, какие выгоды может - принести ИИ и какие инвестиции потребуются. - 2. Руководители подразделений. Вопросы, которые предстоить решить этой группе, - включают в себя постановку целей, выделение ресурсов и отслеживание прогресса. - 3. Инженеры и исследователи, т.е. кадры, которые будут непосредственно - заниматься сбором данных, построением моделей машинного обучения и - промышленным внедрением. +Команда, обученная основным принципам ИИ, – сильная команда. Именно с обучения стоит начать движение по пути внедрения ИИ в жизнь компании. +Что это даст: + - новыe подходы в решении задач + – возможность преодолеть сопротивление консерваторов + - ответы на вопросы "Как?", "Сколько?" и "Для чего?" + - сокращения дефицита специалистов + +Начните обучение с деления команды на 3 группы: + 1. Менеджмент высшего звена. Для них важно понимать, какие выгоды может принести ИИ и какие инвестиции потребуются. + 2. Руководители подразделений. Вопросы, которые предстоить решить этой группе, включают в себя постановку целей, выделение ресурсов и отслеживание прогресса. + 3. Инженеры и исследователи, т.е. кадры, которые будут непосредственно заниматься сбором данных, построением моделей машинного обучения и промышленным внедрением. #### 4. Стратегия развития -Составление стратегии развития не должно происходить в самом начале; -ее понимание придет последовательно с внедрением новых решений. +Не начинайте с формирования стратегии развития. Понимание, что включить в стратегию, придет последовательно по мере внедрения новых решений. -Стратегия может включать 3 направления развития: - 1. Определить ключевые точки применения ИИ в рамках глобальных целей развития - компании, выделить факторы роста конкурентоспособности - 2. Сконцентрировать усилия на сборе релевантных данных: - приобретение внешних данных, создание единого хранилища и организация - доступа для вовлеченных сотрудников - 3. Развитие инфраструктуры для управления процессом разработки новых моделей, - их внедрение и мониторинг. +Стратегия может включать 3 области: + 1. Ключевые точки применения ИИ в рамках глобальных целей развития компании как факторы роста конкурентоспособности. + 2. Аспекты получения релевантной информации: внешних данных, создания единого хранилища и организация доступа для вовлеченных сотрудников. + 3. Формирование инфраструктуры для управления процессом разработки новых моделей, их внедрение и мониторинг. #### 5. Внутренние и внешние коммуникации -Успех трансформации зависит от поддержки ключевых лиц как внутри самой -компании, так и снаружи. Исходя из этого, важно вовремя информировать их -и получать обратную связь. +Успех трансформации зависит от поддержки ключевых лиц как внутри самой компании, так и во внешней среде. Поэтому важно поддерживать постоянные коммуникации, доводить информацию и получать обратную связь. -**Акционеры и инвесторы.** Объяснить цели и ожидаемый финансовый эффект от -внедрения новых технологий. +**Акционеры и инвесторы.** Объясните им цели и ожидаемый финансовый эффект от внедрения новых технологий. -**Регуляторы.** Донести четкое видение ценности для индустрии в частности или -общества в целом, в особенности, для социального значимых решений, таких как -автономные транспортные средства или анализ медицинских данных. +**Регуляторы.** Компании, создающие ИИ-решения в отраслях, регулируемых правительством, таких как автономные транспортные средства или анализ медицинских данных, встречают новые препятствия на своем пути. Для создания или поддержания положительного имиджа необходимо донести до общества четкое видение ценности нововведений для всей индустрии. -**Покупатели и пользователи продукции.** Адаптировать маркетинговые кампании и -внешние коммуникации для предотвращения негативного восприятия. +**Покупатели и пользователи продукции.** Адаптировать маркетинговые кампании и внешние коммуникации для предотвращения негативного восприятия. -**Хантинг и найм.** Продемонстрировать новейшие разработки, чтобы привлечь -кадры, или провести хакатоны, чтобы показать примеры решаемых проблем. -Разработчки хотят работать в компаниях открытых к изменениям и с интересными -проектами. +**Хантинг и найм.** Чтобы привлечь новых сотрудников, продемонстрируйте возможности компании, особенности организации рабочего процесса и планы по развитию ИТ-инфраструктуры. Проводите хакатоны, чтобы продемонстрировать сферу интересов организации и получить новые оригинальные решения внутренних задач. Разработчки хотят работать в компаниях, открытых к изменениям, где реализуются интересные проекты. -**Внутренние коммуникации.** Рассказать о целях и этапах трансформации. -Любые изменения могут создать страхи (например потеря работы) -или вызвать сопротивление (желание сохранить все как есть). Важно избежать -таких проблем через донесение своевременной и правдивой информации. +**Внутренние коммуникации.** Расскажите собственным сотрудникам о целях и этапах трансформации. Любые изменения могут рождать страхи (например потеря работы) или вызывать сопротивление (желание сохранить все как есть). Важно избежать таких проблем, своевременно донося правдивую информацию. ## В заключение -Ожидания и результаты могут не всегда соответствовать друг другу. +Ожидания не всегда соответствуют реальности. $$ Обычная компания + технологии машинного обучения \ne ИИ-компания $$ -Успех будет зависеть от многих факторов включая: - - готовность организации трансформироваться вместе с внедрением новых технологий +Успех будет зависеть от многих факторов, в том числе: + - готовности организации трансформироваться вместе с внедрением новых технологий - инвестиций в необходимые ресурсы - - умение понимать ИИ и принимать правильные решения + - понимания специфики внедрения и использования ИИ + – готовности принимать смелые решения -> ИИ-трансформация достаточно сложный процесс, который станет возможным -благодаря правильным партнерам. Процесс может занять от 2 до 3 лет, хотя -первые результаты можно ожидать в течение 6-12 месяцев. В то же время, -инвестиции в технологии ИИ позволят вашей компании опередить конкурентов и -и улучшить процессы внутри самой компании. +> ИИ-трансформация достаточно сложный процесс, который станет возможным благодаря правильным партнерам. Процесс может занять несколько лет. Однако, как пишет Эндрю Ын, первые результаты можно ожидать в течение 6-12 месяцев. В то же время, инвестиции в технологии ИИ позволят вашей компании опередить конкурентов и улучшить процессы внутри самой компании.