Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Тестирование Нейронных сетей

1,351 views

Published on

Доклад Михаила Чумакова на конференции SQA Days-21
www.sqadays.com

Published in: Education
  • Be the first to comment

  • Be the first to like this

Тестирование Нейронных сетей

  1. 1. Software quality assurance days 21 Международная конференция по вопросам качества ПО sqadays.com Москва. 26–27 мая 2017 Михаил Чумаков TechOps. Москва, Россия. Тестирование нейронных сетей
  2. 2. Тестирование нейронных сетей Докладчик Профессионально тестирую 10 лет Внедряю автоматизацию Контролирую качество Управляю командами тестировщиков Работал в стартапах и enterprise
  3. 3. Disclaimer
  4. 4. Тестирование нейронных сетей Содержание - теория - применение - тестирование - проблемы
  5. 5. Что за сети?
  6. 6. Тестирование нейронных сетей Что за сети
  7. 7. Тестирование нейронных сетей Что за сети Алгоритмы Нейронные сети VS.
  8. 8. Тестирование нейронных сетей Применение нейронных сетей: ● социальные сети ● рекомендательные сервисы - показывать то что купит пользователь ● работа с изображением, текстом, звуком.
  9. 9. Тестирование нейронных сетей Применение нейронных сетей: ● поисковые системы ● анализ (текст, звук, изображения и т.д.) ● классификация
  10. 10. Тестирование нейронных сетей Применение нейронных сетей: ● биоинформатика (расшифровка генома) ● финансовый сектор ● построение суррогатных моделей - предсказательное моделирование (что если?)
  11. 11. Тестирование нейронных сетей Виды машинного обучения ● Нейронные сети ● Глубинное обучение
  12. 12. Тестирование нейронных сетей Виды машинного обучения ● Обучение деревьев принятия решений ● Обучение правилам ассоциации ● Индуктивное логическое программирование ● Метод опорных векторов ● Кластерный анализ ● Байесовская сеть ● Обучение с подкреплением ● Обучение представлению (функциональное обучение) ● Обучение сходству и метрикам ● Генетический алгоритм ● Обучение на скудном словаре ● Основанное на правилах машинное обучение ● Системы обучающихся классификаторов ● Нейронные сети ● Глубинное обучение
  13. 13. Тестирование нейронных сетей Обучение деревьев принятия решений
  14. 14. Тестирование нейронных сетей Как работают нейронные сети?
  15. 15. Тестирование нейронных сетей Как работают нейронные сети?
  16. 16. Тестирование нейронных сетей Как работают нейронные сети?
  17. 17. Тестирование нейронных сетей Как работают нейронные сети? Переменные наблюдаемые Переменные скрытые
  18. 18. Тестирование нейронных сетей Искусственный нейрон Нейрон - линейный классификатор
  19. 19. Тестирование нейронных сетей Обучение НС. Виды обучений - Обучение с учителем - Обучение без учителя
  20. 20. Тестирование нейронных сетей Обучение с учителем
  21. 21. Тестирование нейронных сетей Обучение без учителя
  22. 22. Тестирование нейронных сетей Обучение НС. Виды обучений ● Обучение с учителем ● Обучение без учителя ● Обучение с подкреплением ● Активное обучение ● Обучение с частичным привлечением учителя ● Трансдуктивное обучение (англ. transduction (machine learning)) ● Многозадачное обучение (multi-task learning) ● Многовариантное обучение (multiple-instance learning)
  23. 23. Тестирование нейронных сетей Виды нейронных сетей ● Персептрон ● Свёрточная НС ● Рекуррентная НС
  24. 24. Тестирование нейронных сетей Персептрон Модель нейронной сети, разработанная в 1957 г.
  25. 25. Тестирование нейронных сетей Персептрон
  26. 26. Свёрточные нейронные сети
  27. 27. Тестирование нейронных сетей Рекуррентные сети “Помнят” что было на предыдущем слое. Есть развития с более сложной логикой
  28. 28. Тестирование нейронных сетей Виды нейронных сетей ● Персептрон ● Физическая НС ● Модулярная НС ● Сеть радиально - базисных функций ● НС с прямой связью ● Свёрточная НС ● Рекуррентная НС
  29. 29. Тестирование нейронных сетей
  30. 30. Тестирование нейронных сетей Кто работает над продуктами с ИНС
  31. 31. Тестирование нейронных сетей Кто работает над продуктами с ИНС
  32. 32. Тестирование нейронных сетей Кто работает над продуктами с ИНС ● API ● Анализ текста, изображения, голоса ● Перевод
  33. 33. Тестирование нейронных сетей Кто работает над продуктами с ИНС
  34. 34. Поиск с помощью рисунка 1. Работает только с вектором 1. Поиск по мере рисования наброска 2. Это позволяет не переводить идею в словоформы 3. Это позволяет искать иконку по её очертаниям 4. Работа с вектором - очень экономит “железо” http://ai.icons8.com/
  35. 35. Ещё один сервис - CAPTCHA Идея простая: Пользователь не робот, если смог нарисовать предложенную иконку. Да, мы изобретаем очередной велосипед Да, скорее всего, это не составит труда хакнуть Мы надеемся хипстерам это понравится http://captcha.icons8.com/
  36. 36. Тестирование нейронных сетей Тестирование Нейронных сетей FrontendFrontend Backend AI
  37. 37. Тестирование нейронных сетей Как мы тестировали ● Собрали данные ● Сделали выборки ● Обучали ● Тестировали на других выборках
  38. 38. Тестирование нейронных сетей Как мы тестировали ● Собрали данные - 50000 ● Сделали выборки - 4 штуки ● Обучали - 20-100 на одну картинку, 20 картинок на одну сеть ● Тестировали на других выборках - микс из выборок
  39. 39. Тестирование нейронных сетей
  40. 40. Тестирование нейронных сетей Проблемы машинного обучения ● Необходимость больших объёмов данных (обучающие выборки) ● Пропуски в данных (часть переменных пропущена) ● Ошибки в данных ● Прогнозирование необходимых переменных ● Экспериментальность в подборе количество нейронов в слое, самих слоёв. ● Проблема переобучения ● Большая вычислительная мощность
  41. 41. Тестирование нейронных сетей Обучающие выборки
  42. 42. Тестирование нейронных сетей Обучающие выборки
  43. 43. Тестирование нейронных сетей Переобучение Переобучение — явление, когда построенная модель хорошо объясняет примеры из обучающей выборки, но относительно плохо работает на примерах, не участвовавших в обучении (на примерах из тестовой выборки).
  44. 44. Тестирование нейронных сетей Переобучение
  45. 45. Тестирование нейронных сетей Переобучение
  46. 46. Тестирование нейронных сетей Переобучение
  47. 47. Тестирование нейронных сетей Применение нейронных сетей в тестировании ● Инструменты для обработки данных в файлах ● Фреймворки для тестирования визуальной части ● Возможно, помощь в выборе тестовых данных ● Существуют исследования в применении нейронных сетей в тестировании ПО
  48. 48. Тестирование нейронных сетей Инструменты - Matlab - Github
  49. 49. Тестирование нейронных сетей Что было в докладе? 1. Где применяются сети? 2.1. Машинное обучение - подходы (НС, ГО) 2.2. Нейронные сети: 2.2.1. Обучение. Типы обучений 2.2.2. Типы нейронных сетей 2.3. Глубокое обучение 3. Применения 3.1. как я это тестировал 4. Проблемы нейронных сетей
  50. 50. Тестирование нейронных сетей Контакты aino@techops.ru ainomc@gmail.com https://ru.linkedin.com/in/mchumakov
  51. 51. Тестирование нейронных сетей За кадром● История ML ● Обучение с подкреплением (средний вариант) ● Этическая сторона вопроса ● Квантовое машинное обучение ● Data Mining ● Нейрокомпьютеры ● Transfer learning (нейропластичность) ● Классические методы машинного обучения
  52. 52. Как мы параметризуем вектор Определяем точки пересечения Сразу решается проблема деформаций 1 Рассчитываем каждую точку 2 Сразу скалируем длину до интервала (0,1)
  53. 53. Как мы мучали ИИ
  54. 54. Как мы учили ИИ 50.000 пользовательских скриблов

×