ݺߣ

ݺߣShare a Scribd company logo
ЭЛЕМЕНТЫ
                            ИСКУСТВЕННОГО
                            ИНТЕЛЛЕКТА ПРИ
                          ПРОГРАММИРОВАНИИ.




Цуканов Павел
ptsukanov@codereign.net
Skype: cpp.tula
Что такое ИИ?
• Это наука и технология создания
  интеллектуальных машин
• Встречается много разных определений, но
  больше всего мне нравится следующее –
  Наука о том, как научить компьютеры делать
  то, в чѐм люди в настоящее время их
  превосходят
• С моей точки создание ИИ не ведѐт к
  появлению сознания. Хотя кто знает...
Помощник человека. Воз и
          ныне там.....




Леонардо      ASIMO        WALL-E
Да Винчи      2000          ????
  1495
Искуственный интеллект далек
 от совершенства.....
• Кто виноват?
• Что делать?
Создавать не дублируя
Тест Тьюринга
• Основная идея - поведение
  объекта, обладающего
  искусственным интеллектом, в
  конечном итоге нельзя будет
  отличить от поведения таких
  бесспорно интеллектуальных
  сущностей, как человеческие
  существа.
• Приз Лѐбнера -
  http://www.loebner.net/Prizef/loebner-
  prize.html
• Тест Тьюринга не пройден!!!
Для прохождение необходимо
 чтобы ИИ мог
• Обрабатывать текст на естественных языках.
• Понимать и сохранять то, что узнаѐт.
• Формировать логические выводы
• Приспосабливаться к новым обстоятельтвам
Что имеем?
• Нейронные сети
• Генетические алгортмы
• Распознование и генерация речи
• Робототехника
• Машинное зрение
• Нечѐткая логика
• Чат-боты
• Экспертные системы
Нейронные сети. Области применения
• Экономика и бизнес: прогнозирование временных рядов
  (курсов валют, цен на сырьѐ, объемов
  продаж,..), автоматический трейдинг, оценка рисков
  невозврата кредитов, предсказание банкротств, оценка
  стоимости недвижимости, выявление переоцененных и
  недооцененных компаний, рейтингование, оптимизация
  товарных и денежных потоков, считывание и распознавание
  чеков и документов, безопасность транзакций по
  пластиковым картам.
• Медицина: постановка диагноза, обработка медицинских
  изображений, мониторинг состояния пациента, анализ
  эффективности лечения, очистка показаний приборов от
  шумов.
• Авионика: обучаемые автопилоты, распознавание сигналов
  радаров, адаптивное пилотирование сильно поврежденного
  самолета, беспилотные летательные аппараты.
Нейронные сети. Области применения
• Связь: сжатие видеоинформации, быстрое кодирование-
  декодирование, оптимизация сотовых сетей и схем
  маршрутизации пакетов.
• Интернет: ассоциативный поиск информации, электронные
  секретари и автономные агенты в интернете, фильтрация
  информации, блокировка спама, автоматическая рубрикация
  сообщений из новостевых лент, адресные реклама и
  маркетинг для электронной торговли.
• Автоматизация производства: оптимизация режимов
  производственного процесса, контроль качества
  продукции, мониторинг и визуализация многомерной
  диспетчерской информации, предупреждение аварийных
  ситуаций, робототехника.
• Политологические и социологические технологии:
  предсказание результатов выборов, анализ опросов и т.д.
Нейронные сети. Области применения
• Безопасность и охранные системы: распознавание лиц;
  идентификация личности по отпечаткам пальцев, голосу,
  подписи или лицу; распознавание автомобильных номеров,
  анализ аэрокосмических снимков, мониторинг
  информационных потоков в компьютерной сети и
  обнаружение вторжений, обнаружение подделок.
• Ввод и обработка информации: распознавание рукописных
  текстов, отсканированных почтовых, платежных,
  финансовых и бухгалтерских документов.
• Геологоразведка: анализ сейсмических данных,
  ассоциативные методики поиска полезных ископаемых,
  оценка ресурсов месторождений.
Нейрон
     Входы   Веса        Ячейка       Аксон      Выход

X1
              W1
X2           W2                                      Y
             W3
X3                           S


      ……     Wn


Xn                    Состояние нейрона


                                              f’(x) = af(x)(1-f(x))

                    Активационная функция
Нейронная сеть
Входы       Слой 1     Слой 2      Слой 3

X1
                                              Y1

X2

                                              Y2
X3


        Обычно нейронная сеть выглядит так!
Обучение нейронных сетей

   • Способов Очень Много
   • Однако можно разделить на 2 класса
     • Детерминистские
     • Стохастические
Метод обратного распространения
                            X1   W11                W11




                                                                                           Обучающая пара (Результат)
 Обучающая пара (Образец)




                                 W12                W12
                                        W13                W13
                                                                   W11
                            X2     W21                W21                              Y
                                  W22                W22         W12


                                       W23                W23
                                                                       W13
                                        W31               W31
                            X3   W32
                                 W32
                                                    W32
                                                    W32




Случайно                                      Установка весов                Разница
Пример апроксимации нейронной сети
Пример предсказаний нейронной сети
Генетические алгоритмы. Области
применения
• Оптимизация функций
• Разнообразные задачи на графах (задача
  коммивояжера, раскраска, нахождение паросочетаний)
• Настройка и обучение искусственной нейронной сети
• Задачи компоновки
• Составление расписаний
• Игровые стратегии
• Аппроксимация функций
• Искусственная жизнь
Решение задачи коммивояжора
Рождение
                                                Расстояние
Точки
           Особи              Целевая функция   по маршруту
маршрута
                                                особи
   1.      Особь 1                   0


   2.      Особь 2                   0
                                                  Зона
   3.      Особь 3                   0          выживания
   4.      Особь 4                   0


   5.      Особь 5                   0


                      ……………
                      ……
   N-2.    Особь 30                  0

                                                    Зона
   N-1.    Особь 31                  0
                                                   смерти
   N.      Особь 32                  0
Вычисление целевой функции
       Особи              Целевая функция


1.     Особь 1                  10


2.     Особь 2                  30
                                              Зона
3.     Особь 3                  300         выживания
4.     Особь 4                  500


5.     Особь 5                  410


                  ……………
                  ……
N-2.   Особь 30                 100

                                              Зона
N-1.   Особь 31                 100
                                             смерти
N.     Особь 32                 400
Селекция и размножение
        Особи             Целевая функция


1.      Особь 1                 10


2.      Особь 2                 30
                                              Зона
3.     Особь 30                 100         выживания
4.     Особь 31                 100


5.      Особь 3                 410


                  ……………
                  ……
N-2.   Особь 34                  0

                                              Зона
N-1.   Особь 35                  0
                                             смерти
N.     Особь 36                  0
Моделирование сигнала
Мои выводы о генетических
 алгоритмах
1. Обмен генетическим материалом позволяет
ускорить поиск оптимального решения в разы по
сравнению с простым случайным выбором
2. Небольшая Мутация необходима для
осуществления качественных изменений, Сильная
мутация ведѐт к остановке развития
3. Обмен генетического материала с потомками
ведѐт к остановки развития
4. Как ни странно крайне необходим обмен
генетичесткого материала со слабейшими - это
ведет к качественным скачкам в развитии.
Машинное зрение.
Под этим подразумевают
• анализ профилей яркости, проекций и гистограмм
• сегментация изображений, выделение и анализ областей и
  контуров
• обнаружение прямолинейных, круглых и других аналитических
  структур
• текстурный анализ, вычисление статистик
• выделение объектов, вычисление геометрических признаков
• выделение объектов
• распознавание объектов
• слежение за объектами
• оптическое распознавание текста
Машинное зрение
• Хотел отметить, в качестве датчиков
  подразувается не только видеокамеры, но и
  лазерные дальномеры, ультрозвуковые
  датчики, температурные и т.д.




• А теперь перейдѐм технологии распознования
  глифов.
Glyphs




         Где они на изображении?
Как распознать?




• Можно конечно создать большую нейронную
  сеть по аналогии с человеческим мозгом и
  несколько лет еѐ обучать.
• Но у нас нет таких ресурсов.
• Поэтому всегда изобретается, что-то своѐ.
Алгоритм распознования
1. Перевод в Grayscale
• Снижает объѐм обрабатываемых данных
• Нам всѐ равно не нужен цвет
Алгоритм распознования
2. Превращение в чѐрно-белое
изображение
• И поиск в нѐм четырѐх угольников
Алгоритм распознования
2. Определяем регионы контрастности
• Фильтр находит края объектов, вычисляя
  максимальную разницу между пикселями в 4
  направлениях.
Алгоритм распознования
 3. Находим все объекты, имеющие белую
 замкнутую границу
 4. Определяем, что они 4х угольники.




 Теперь мы имеем координаты потенциальных
 глифов – надо только их распознать.
Алгоритм распознования
 5. Поворачиваем найденные 4-х угольники




 6. Делаем изображение ч/б и накладываем
 сетку.
Алгоритм распознования
 7. Получаем масив 0 и 1
Алгоритм распознования
 8. А дальше дело техники
Glyphs
 А собственно зачем всѐ это?
Нечѐткая логика (Fuzzy logic).
Понятие нечѐткой логики было впервые введено
профессором Лютфи Заде в 1965 году.
Основной причиной появления новой теории стало
наличие нечетких и приближенных рассуждений
при описании человеком
процессов, систем, объектов.
Нечѐткая логика (Fuzzy logic).
Нечеткая логика может обрабатывать качественные значения, а не
количественные значения. Можно определить так называемые
лингвистические переменные, вместо классических числовых
переменные, и может выполнять вычисления с этими переменными, с
помощью нечетких правил, имитирующих определенным образом
человеческие процессы мышления. Неполная или неточная
информация может быть использована для вычисления, например:
“Этот человек высокого роста”;
“Этот объект является тяжелым”;
Во всех этих случаях, смысл высокий, тяжелый имеют отношение к
решению проблемы, а не к точному определению числового значения.
Для представления и вычисления таких проблем, используемых
ежедневно в человеческом общении, мы можем использовать
нечѐткую логику.
Нечѐткая логика (Fuzzy logic).
Нечѐткая логика (Fuzzy logic).
Нечѐтко двигаемся......
Рекомендую!
• http://www.aforgenet.com
• http://www.basegroup.ru
В заключении хотел
сказать
• Этим заниматься очень интересно.
• Приведѐт ли это в конце концов к
  вымиранию нашей профессии?
  Наверное. Но не так быстро.
• Если машина всѐ-таки пройдѐт тест
  Тьюринга – Мир изменится кардинально
  и навсегда. Это будет уже другой мир.
  Какой? Можно только помечтать......
Пожалуйста, Ваши Вопросы!!!

More Related Content

ЭЛЕМЕНТЫ ИСКУСТВЕННОГО ИНТЕЛЛЕКТА ПРИ ПРОГРАММИРОВАНИИ. (http://tuladev.net/events/128)

  • 1. ЭЛЕМЕНТЫ ИСКУСТВЕННОГО ИНТЕЛЛЕКТА ПРИ ПРОГРАММИРОВАНИИ. Цуканов Павел ptsukanov@codereign.net Skype: cpp.tula
  • 2. Что такое ИИ? • Это наука и технология создания интеллектуальных машин • Встречается много разных определений, но больше всего мне нравится следующее – Наука о том, как научить компьютеры делать то, в чѐм люди в настоящее время их превосходят • С моей точки создание ИИ не ведѐт к появлению сознания. Хотя кто знает...
  • 3. Помощник человека. Воз и ныне там..... Леонардо ASIMO WALL-E Да Винчи 2000 ???? 1495
  • 4. Искуственный интеллект далек от совершенства..... • Кто виноват? • Что делать?
  • 6. Тест Тьюринга • Основная идея - поведение объекта, обладающего искусственным интеллектом, в конечном итоге нельзя будет отличить от поведения таких бесспорно интеллектуальных сущностей, как человеческие существа. • Приз Лѐбнера - http://www.loebner.net/Prizef/loebner- prize.html • Тест Тьюринга не пройден!!!
  • 7. Для прохождение необходимо чтобы ИИ мог • Обрабатывать текст на естественных языках. • Понимать и сохранять то, что узнаѐт. • Формировать логические выводы • Приспосабливаться к новым обстоятельтвам
  • 8. Что имеем? • Нейронные сети • Генетические алгортмы • Распознование и генерация речи • Робототехника • Машинное зрение • Нечѐткая логика • Чат-боты • Экспертные системы
  • 9. Нейронные сети. Области применения • Экономика и бизнес: прогнозирование временных рядов (курсов валют, цен на сырьѐ, объемов продаж,..), автоматический трейдинг, оценка рисков невозврата кредитов, предсказание банкротств, оценка стоимости недвижимости, выявление переоцененных и недооцененных компаний, рейтингование, оптимизация товарных и денежных потоков, считывание и распознавание чеков и документов, безопасность транзакций по пластиковым картам. • Медицина: постановка диагноза, обработка медицинских изображений, мониторинг состояния пациента, анализ эффективности лечения, очистка показаний приборов от шумов. • Авионика: обучаемые автопилоты, распознавание сигналов радаров, адаптивное пилотирование сильно поврежденного самолета, беспилотные летательные аппараты.
  • 10. Нейронные сети. Области применения • Связь: сжатие видеоинформации, быстрое кодирование- декодирование, оптимизация сотовых сетей и схем маршрутизации пакетов. • Интернет: ассоциативный поиск информации, электронные секретари и автономные агенты в интернете, фильтрация информации, блокировка спама, автоматическая рубрикация сообщений из новостевых лент, адресные реклама и маркетинг для электронной торговли. • Автоматизация производства: оптимизация режимов производственного процесса, контроль качества продукции, мониторинг и визуализация многомерной диспетчерской информации, предупреждение аварийных ситуаций, робототехника. • Политологические и социологические технологии: предсказание результатов выборов, анализ опросов и т.д.
  • 11. Нейронные сети. Области применения • Безопасность и охранные системы: распознавание лиц; идентификация личности по отпечаткам пальцев, голосу, подписи или лицу; распознавание автомобильных номеров, анализ аэрокосмических снимков, мониторинг информационных потоков в компьютерной сети и обнаружение вторжений, обнаружение подделок. • Ввод и обработка информации: распознавание рукописных текстов, отсканированных почтовых, платежных, финансовых и бухгалтерских документов. • Геологоразведка: анализ сейсмических данных, ассоциативные методики поиска полезных ископаемых, оценка ресурсов месторождений.
  • 12. Нейрон Входы Веса Ячейка Аксон Выход X1 W1 X2 W2 Y W3 X3 S …… Wn Xn Состояние нейрона f’(x) = af(x)(1-f(x)) Активационная функция
  • 13. Нейронная сеть Входы Слой 1 Слой 2 Слой 3 X1 Y1 X2 Y2 X3 Обычно нейронная сеть выглядит так!
  • 14. Обучение нейронных сетей • Способов Очень Много • Однако можно разделить на 2 класса • Детерминистские • Стохастические
  • 15. Метод обратного распространения X1 W11 W11 Обучающая пара (Результат) Обучающая пара (Образец) W12 W12 W13 W13 W11 X2 W21 W21 Y W22 W22 W12 W23 W23 W13 W31 W31 X3 W32 W32 W32 W32 Случайно Установка весов Разница
  • 18. Генетические алгоритмы. Области применения • Оптимизация функций • Разнообразные задачи на графах (задача коммивояжера, раскраска, нахождение паросочетаний) • Настройка и обучение искусственной нейронной сети • Задачи компоновки • Составление расписаний • Игровые стратегии • Аппроксимация функций • Искусственная жизнь
  • 20. Рождение Расстояние Точки Особи Целевая функция по маршруту маршрута особи 1. Особь 1 0 2. Особь 2 0 Зона 3. Особь 3 0 выживания 4. Особь 4 0 5. Особь 5 0 …………… …… N-2. Особь 30 0 Зона N-1. Особь 31 0 смерти N. Особь 32 0
  • 21. Вычисление целевой функции Особи Целевая функция 1. Особь 1 10 2. Особь 2 30 Зона 3. Особь 3 300 выживания 4. Особь 4 500 5. Особь 5 410 …………… …… N-2. Особь 30 100 Зона N-1. Особь 31 100 смерти N. Особь 32 400
  • 22. Селекция и размножение Особи Целевая функция 1. Особь 1 10 2. Особь 2 30 Зона 3. Особь 30 100 выживания 4. Особь 31 100 5. Особь 3 410 …………… …… N-2. Особь 34 0 Зона N-1. Особь 35 0 смерти N. Особь 36 0
  • 24. Мои выводы о генетических алгоритмах 1. Обмен генетическим материалом позволяет ускорить поиск оптимального решения в разы по сравнению с простым случайным выбором 2. Небольшая Мутация необходима для осуществления качественных изменений, Сильная мутация ведѐт к остановке развития 3. Обмен генетического материала с потомками ведѐт к остановки развития 4. Как ни странно крайне необходим обмен генетичесткого материала со слабейшими - это ведет к качественным скачкам в развитии.
  • 25. Машинное зрение. Под этим подразумевают • анализ профилей яркости, проекций и гистограмм • сегментация изображений, выделение и анализ областей и контуров • обнаружение прямолинейных, круглых и других аналитических структур • текстурный анализ, вычисление статистик • выделение объектов, вычисление геометрических признаков • выделение объектов • распознавание объектов • слежение за объектами • оптическое распознавание текста
  • 26. Машинное зрение • Хотел отметить, в качестве датчиков подразувается не только видеокамеры, но и лазерные дальномеры, ультрозвуковые датчики, температурные и т.д. • А теперь перейдѐм технологии распознования глифов.
  • 27. Glyphs Где они на изображении?
  • 28. Как распознать? • Можно конечно создать большую нейронную сеть по аналогии с человеческим мозгом и несколько лет еѐ обучать. • Но у нас нет таких ресурсов. • Поэтому всегда изобретается, что-то своѐ.
  • 29. Алгоритм распознования 1. Перевод в Grayscale • Снижает объѐм обрабатываемых данных • Нам всѐ равно не нужен цвет
  • 30. Алгоритм распознования 2. Превращение в чѐрно-белое изображение • И поиск в нѐм четырѐх угольников
  • 31. Алгоритм распознования 2. Определяем регионы контрастности • Фильтр находит края объектов, вычисляя максимальную разницу между пикселями в 4 направлениях.
  • 32. Алгоритм распознования 3. Находим все объекты, имеющие белую замкнутую границу 4. Определяем, что они 4х угольники. Теперь мы имеем координаты потенциальных глифов – надо только их распознать.
  • 33. Алгоритм распознования 5. Поворачиваем найденные 4-х угольники 6. Делаем изображение ч/б и накладываем сетку.
  • 34. Алгоритм распознования 7. Получаем масив 0 и 1
  • 35. Алгоритм распознования 8. А дальше дело техники
  • 36. Glyphs А собственно зачем всѐ это?
  • 37. Нечѐткая логика (Fuzzy logic). Понятие нечѐткой логики было впервые введено профессором Лютфи Заде в 1965 году. Основной причиной появления новой теории стало наличие нечетких и приближенных рассуждений при описании человеком процессов, систем, объектов.
  • 38. Нечѐткая логика (Fuzzy logic). Нечеткая логика может обрабатывать качественные значения, а не количественные значения. Можно определить так называемые лингвистические переменные, вместо классических числовых переменные, и может выполнять вычисления с этими переменными, с помощью нечетких правил, имитирующих определенным образом человеческие процессы мышления. Неполная или неточная информация может быть использована для вычисления, например: “Этот человек высокого роста”; “Этот объект является тяжелым”; Во всех этих случаях, смысл высокий, тяжелый имеют отношение к решению проблемы, а не к точному определению числового значения. Для представления и вычисления таких проблем, используемых ежедневно в человеческом общении, мы можем использовать нечѐткую логику.
  • 43. В заключении хотел сказать • Этим заниматься очень интересно. • Приведѐт ли это в конце концов к вымиранию нашей профессии? Наверное. Но не так быстро. • Если машина всѐ-таки пройдѐт тест Тьюринга – Мир изменится кардинально и навсегда. Это будет уже другой мир. Какой? Можно только помечтать......