Про що лекція:
- Пошук схожих зображень за допомогою ШІ
- Як ШІ видаляє задній фон на фото. Розв’язання задачі сегментації.
- Ефективне навчання ШІ на основі великого масиву даних (фото).
Спікер: Олександр Мірошниченко, Senior Software Engineer, має понад 7 років досвіду в ІТ. Напрям діяльності — нейронні мережі та Deep Learning.
GlobalLogic Embedded Community x ROS Ukraine Webinar "Surgical Robots"GlobalLogic Ukraine
Доповідь присвячена медицині майбутнього, малоінвазивній хірургії: розглянемо рішення із використанням роботів хірургів. Оглянемо інструментарій та звернемо увагу на речі, які можна відтворити для експериментів у домашніх умовах.
GlobalLogic Java Community Webinar #17 “SpringJDBC vs JDBC. Is Spring a Hero?”GlobalLogic Ukraine
Доповідь присвячена розгляду Spring JDBC у порівнянні зі стандартним JDBC у Java. Спікерка покаже на конкретних прикладах розподіл логіки коду за класами та як використання Spring JDBC скорочує кількість коду, який необхідно написати, і чому це відбувається.
Відео та деталі заходу: https://bit.ly/3wqEjCx
More Related Content
Similar to Задачі AI-розробника як застосовується штучний інтелект.pptx
GlobalLogic Embedded Community x ROS Ukraine Webinar "Surgical Robots"GlobalLogic Ukraine
Доповідь присвячена медицині майбутнього, малоінвазивній хірургії: розглянемо рішення із використанням роботів хірургів. Оглянемо інструментарій та звернемо увагу на речі, які можна відтворити для експериментів у домашніх умовах.
GlobalLogic Java Community Webinar #17 “SpringJDBC vs JDBC. Is Spring a Hero?”GlobalLogic Ukraine
Доповідь присвячена розгляду Spring JDBC у порівнянні зі стандартним JDBC у Java. Спікерка покаже на конкретних прикладах розподіл логіки коду за класами та як використання Spring JDBC скорочує кількість коду, який необхідно написати, і чому це відбувається.
Відео та деталі заходу: https://bit.ly/3wqEjCx
GlobalLogic JavaScript Community Webinar #18 “Long Story Short: OSI Model”GlobalLogic Ukraine
Ця доповідь зацікавить усіх, хто хоче заповнити прогалини у базових знаннях чи підтягнути теорію з університету. Під час доповіді ми дізнаємось, що таке модель OSI та розглянемо кожен її рівень. Як результат, ви краще розумітимете свою область відповідальності як Front-end, Back-end, DevOps чи системний адміністратор.
Відео та деталі заходу: https://bit.ly/47T4QWI
Штучний інтелект як допомога в навчанні, а не замінник.pptxGlobalLogic Ukraine
Про що лекція:
- Як використовувати штучний інтелект у навчанні
- Обмеження та недоліки використання AI
- Рекомендації щодо відповідального використання AІ в навчанні. Огляд кращих прикладів.
Спікер: Оксана Поморова — Lead Software Engineer, GlobalLogic, доктор технічних наук з 20-річним досвідом в IT. Напрям діяльності — застосування штучного інтелекту та комп’ютерний зір.
Що треба вивчати, щоб стати розробником штучного інтелекту та нейромереж.pptxGlobalLogic Ukraine
Про що лекція:
- Що таке штучний інтелект зсередини та чим зумовлена його популярність
- Напрями розвитку штучного інтелекту: які є та як обрати свій
- Які знання необхідні, щоб стати розробником штучного інтелекту
Спікер: Василь Ляшкевич — Solution Architect, GlobalLogic, PhD в компʼютерних науках, має понад 15 років досвіду в ІТ. Напрям діяльності — розробка алгоритмів і засобів штучного інтелекту, хмарних систем та сервісів.
GlobalLogic Java Community Webinar #16 “Zaloni’s Architecture for Data-Driven...GlobalLogic Ukraine
20 липня відбувся вебінар від Java Community – “Zaloni’s Architecture for Data-Driven Design” by Максим Дем’яновський — Software Engineer, GlobalLogic.
Доповідь надасть уявлення про Data-Driven Design, основні його переваги і практичну користь, а також покаже як його можна реалізувати на практиці.
25 квітня відбувся вебінар від JavaScript Community – “Why Is Git Rebase?”
Ганна Ліхтман — Senior Software Engineer, GlobalLogic.
Під час вебінару дізнались, що таке git history, та чому важливо тримати її в чистоті і порядку. Яка різниця між merge та rebase. Що таке інтерактивний rebase та в чому його сила не тільки на словах, але й на практиці.
GlobalLogic .NET Community Webinar #3 "Exploring Serverless with Azure Functi...GlobalLogic Ukraine
29 березня відбувся вебінар від .NET Community – “Exploring Serverless with Azure Functions”.
Спікер: Євген Павленко – Senior Software Engineer, GlobalLogic.
Поговорили на ті теми:
- Вступ до Azure Functions та Serverless;
- Типи хмарного обчислення;
- Переваги serverless;
- Функції та можливості Azure Functions.
Страх і сила помилок - IT Inside від GlobalLogic EducationGlobalLogic Ukraine
Ви дізнаєтесь:
- Що знаходиться за кулісами успішного успіху;
- Страх, що контролює тебе та робота з ним;
- Звідки береться невпевненість у власних силах;
- Чого власні помилки демотивують.
ℹ️IT Inside — це серія 30-хвилинних лекцій для охочих розпочати кар'єру в ІТ. Наші експерти відкриють залаштунки айтішного життя, обговорять поширені думки про ІТ-сферу й розкажуть те, що самі б хотіли почути на старті кар'єри.
🎬Переглянути записи попередніх лекцій IT Inside (https://youtube.com/playlist?list=PLipGbz33Ay3H5ynlB0YQ6P-16IX-pRvce).
GlobalLogic .NET Webinar #2 “Azure RBAC and Managed Identity”GlobalLogic Ukraine
24 листопада відбувся вебінар від .NET Community – “Azure RBAC and Managed Identity”.
Спікер: Євген Павленко – Senior Software Engineer, GlobalLogic.
Розповіли, що таке Azure RBAC (Role Base Access Control) і як він працює, для чого нам Azure Managed Identity та як звільнитись від використання паролів-секретів при використанні Azure.
Деталі заходу: https://bit.ly/3GSBvRx
Відкриті .NET-позиції у GlobalLogic: https://bit.ly/3ilJYCq
Долучитись до .NET Community у Facebook: https://www.facebook.com/groups/communitydotnet
GlobalLogic QA Webinar “What does it take to become a Test Engineer”GlobalLogic Ukraine
We considered:
- What attracts you to testing?
- What set of skills does the tester need?
- How to find your niche?
- Truth and fiction about testing
- Resume as a way to success
- Recommended materials
Discussed the capabilities, advantages and disadvantages of Keycloak, made a basic understanding of how it can be applied and integrated into various systems.
Speaker - Ihor Didyk, Software Engineer, GlobalLogic.
GlobalLogic Machine Learning Webinar “Advanced Statistical Methods for Linear...GlobalLogic Ukraine
31 травня відбувся вебінар для ML-спеціалістів - “Advanced Statistical Methods for Linear Regression” від спікера Віталія Мірошниченка! Ця доповідь для тих, хто добре ознайомлений із найпоширенішими моделями даних та підходами у машинному навчанні і хоче розширити знання іншими підходами.
У доповіді ми розглянули:
- Нагадування. Модель лінійної регресії і підгонка параметрів;
- Навчання батчами (великі об’єми вибірок);
- Оптимізація розрахунків у каскаді моделей;
- Модель суміші лінійних регресій;
- Оцінки методом складеного ножа матриць коваріацій.
Про спікера:
Віталій Мірошниченко — Senior ML Software Engineer, GlobalLogic. Має більше 6 років досвіду, який отримав здебільшого на проєктах, пов’язаних із Telecom, Cyber security, Retail. Активний учасник змагань Kaggle, та Аспірант КНУ.
Деталі заходу: https://bit.ly/3HkqhDB
Відкриті ML позиції у GlobalLogic: https://bit.ly/3MPC9yo
GlobalLogic Machine Learning Webinar “Statistical learning of linear regressi...GlobalLogic Ukraine
24 травня відбувся GlobalLogic Machine Learning Webinar “Statistical learning of linear regression model” від спікера Віталія Мірошніченка.
Під час вебінару ми обговорили такі теми:
- Модель лінійної регресії;
- Підгонка параметрів моделі (custom, sklearn, scipy);
- Основні теореми та асимптотика параметрів;
- Дискриптивні статистики (візуалізація результатів);
- Тести та їх інтерпретація;
- Приклади з Machine Learning.
Відео та деталі заходу - https://www.globallogic.com/ua/about/events/statistical-learning-of-linear-regression-model/?utm_source=youtube-organic&utm_medium=social&utm_campaign=statistical-learning-of-linear-regression-model
Попередня реєстрація на GL BaseCamp - https://bit.ly/BaseCampwaitinglist
GlobalLogic C++ Webinar “The Minimum Knowledge to Become a C++ Developer”GlobalLogic Ukraine
18 травня відбувся GlobalLogic C++ Webinar “The Minimum Knowledge to Become a C++ Developer” від спікера Романа Івасишина.
У доповіді ми розглянули:
- Список тем, які повинен знати С++ розробник (синтаксис мови, класи, STL, а також дізнались, для чого вчити темплейти та багатопотоковість);
- На що потрібно звернути увагу при вивченні мови;
- Деякі приховані аспекти мови;
- Практичні приклади з С++.
Відео та деталі заходу: https://bit.ly/3Gxmkee
Приєднатись до спільноти: https://www.facebook.com/groups/EmbeddedCommunity
Відкриті C++ позиції у GlobalLogic: https://bit.ly/3GzW03c
22 лютого відбувся Embedded Webinar #17 “Low-level Network Testing in Embedded Devices Development” від спікера Сергія Корнієнка.
Під час вебінару ми говорили на такі теми:
- Підхід до низькорівневого тестування мережевих протоколів;
- Інструменти, які можна використати в реальних проєктах;
- Знайдені баги та способи знаходження корневих причин на прикладі реального R&D проєкту.
Відео та деталі заходу: https://bit.ly/embedded_webinar_17
Приєднатись до спільноти: https://www.facebook.com/groups/EmbeddedCommunity
Відкриті Embedded-позиції у GlobalLogic: https://bit.ly/Embedded_Positions
11 січня відбувся вебінар “Introduction to Embedded QA”.
Під час вебінару ми поговорили на такі теми:
Огляд вбудованих систем;
Основні складнощі, що виникають під час їх тестування;
Основні напрямки та технології, які необхідно відслідковувати під час роботи з вбудованими системами.
Більше про захід: https://www.globallogic.com/ua/about/events/globallogic-webinar-introduction-to-embedded-qa/
Приємного перегляду і не забудьте залишити коментар про враження від вебінару!
9 грудня відбувся вебінар “Why Should You Learn C++ in 2021-22?”
Розглянули, наскільки популярною є C/C++ і де її можна використовувати. Поговорили про основні переваги та недоліки цієї мови програмування. Розповіли, як розвивається C/C++ і, нарешті, ми зрозуміли, як почати вивчати C/C++.
Більше про захід: https://www.globallogic.com/ua/about/events/c-webinar-why-you-should-learn-c-in-2021-22/
Приємного перегляду і не забудьте залишити коментар про враження від вебінару!
GlobalLogic Test Automation Live Testing Session “Android Behind UI — Testing...GlobalLogic Ukraine
В рамках GlobalLogic Test Automation Advent Calendar нещодавно відбувся GlobalLogic Test Automation Live Testing Session “Android Behind UI — Testing Challenges” від Дмитра Токарського, Lead Test Engineer, Quality Assurance, GlobalLogic.
Під час заходу ми говорили про те, як працює Android Debug Bridge, що стоїть за вбудованими фреймворками тестування UI та як спілкуватися з додатками та системою, якщо немає UI. Окремо поговорили про Bluetooth й окреслили бібліотеки Python для роботи с Bluetooth та сервісами Android.
Більше про захід: https://www.globallogic.com/ua/about/events/globallogic-test-automation-live-testing-session-android-behind-ui-testing-challenges/
Приємного перегляду і не забудьте залишити коментар про враження від вебінару!
Ця активність — частина заходів в рамках GlobalLogic Test Automation Advent Calendar, ще більше заходів та цікавинок за посиланням: https://bit.ly/AdventCalendar_fb
GlobalLogic Test Automation Online TechTalk “Test Driven Development as a Per...GlobalLogic Ukraine
16 грудня 2021 року відбувся GlobalLogic Test Automation Online TechTalk “Test Driven Development as a Personal Skill”! Анатолій Сахно (Software Testing Consultant, GlobalLogic) розібрав принципи TDD (розробки, керованої тестами) та приклади їх застосування. Крім того, поговорили про:
- Ефективне використання модульних тестів у повсякденних задачах;
- Використання TDD при розробці тестових фреймворків;
- Застосування принципів TDD при написанні функціональних автотестів.
Більше про захід: https://www.globallogic.com/ua/about/events/globallogic-test-automation-online-techtalk-test-driven-development-as-a-personal-skill/
Приємного перегляду і не забудьте залишити коментар про враження від TechTalk!
Ця активність — частина заходів в рамках GlobalLogic Test Automation Advent Calendar, ще більше заходів та цікавинок за посиланням: https://bit.ly/AdventCalendar_fb
2. 2
Лектор
● Senior Software Engineer, GlobalLogic
● понад 7 років досвіду в ІТ
● основний напрям діяльності – нейронні мережі та глибоке
навчання
● тренер та ментор навчальних ініціатив для студентів
Олександр Мірошниченко
6. 6
Дані
Вхід: 250 000 унікальних картинок з
товарами.
На щастя ми маємо інформацію
по товарам в магазині.
В номенклатурі присутні 700
різних категорій
250 000
Треба розрахувати:
250000*249999/2 попарних
статистик.
Матриця оцінок
схожості
2 000
500
1 000
250 000
a
b
c
Для товару з категорії А ми
шукаємо схожі лише в категорії А Немає потреби
рахувати
абсолютно всі
попарні схожості
12. 12
Кольорова схожість
Давайте порахуємо кількість пікселів кожного кольору, для спрощення нехай ми
маємо лише 4096 кольори
Значення пікселів картинки RGB від [0-255, 0-255,0-255] але ми ці значення зменшили
до [0-15, 0-15, 0-15] (розкидали по коробкам) 16^3=4096
Після цього утворили з картинки вектор, просто “розрівняли” матрицю
Щільність розподілу
кольорів
Гарною ідеєю
виявилось знайти
абсолютну різницю
щільностей:
1) Blue and orange
2) Blue and green
13. 13
Загальний показник схожості
Color score 0.86
Color score 0.73
Cosine similarity 0.92
Cosine similarity 0.86
Similarity score
f(s1, s2)
0.70
0.84
s1 s2
14. 14
Як швидко розрахувати наші статистики?
Якщо є доступ до кластеру
Якщо є доступ до кластеру немає, то
● або збирайте свій кластер
● або чекайте розрахунки на python
● або імплементуйте розрахунки на
мові яка підтримує паралелизацію
25. 25
- Тисячі фотографій одежі обробляються фотостудією в онлайн
магазині
- Задній фон предметів - дуже різний і не підходить для розміщені на
сайті
- Видаляти задній фон руками дуже довгий та дорогий процес
- Розв’язок - створити автоматичний процес за допомогою ШІ
Дано: Датасет картинок ~ 32.000 картинок та масок для
фотографій
Ціль: Створити маски для картинок щоб використовувати їх для
видалення заднього фону
Задача
27. 27
- Тип даних: картинка – маска
- 32 000 картинок розподілені в 6 категорій для
балансування даних (для 5 категорій ми використаємо
PCA + Kmeans)
- Дані для тренування: 25 600 пар картинок
- Дані для валідації: 6 400 пар картинок
Дані
29. 29
● Аналіз
● Чистка даних
● Кластеризація по типам (PCA + Kmeans)
● Довгі штани
● Короткі штани
● Одежа з коротким рукавом
● Одежа з довгим рукавом
● Пляж, спорт, аксесуари
● Біла одежа (кластеризовано вручну)
● Зменшити картинки до 320x320
● Аугментація
● Original image
● Vertical flip
● Cropping
● Combination of images
Обробка даних
30. 30
За основу ми взяли модель з статті: U2-Net: Going Deeper
with Nested U-Structure for Salient Object Detection
Ми транували нейронку за допомогою фреймворку
Horovod, що дозволяє робити розподіленні розрахунки та
навчання ШІ на відеокартах та за допомогою Pytorch. Протягом
кожної епохи різні батчі розподіляються на різних воркерах у
кластері (Потужний комп’ютер).
Модель
31. 31
Харакеристики:
- Параметри (Adam optimizer, dynamic learning rate,
batch_size=10*GPUs, epochs=30)
- Навчання на батчах
- Час: 9 годин при використанні 20 воркері з
фреймворком Horovod на кластері
- Метрика оцінки: Intersection over Union (IoU) metric
- TensorBoard метрики: losses, learning rate, IoU
metric/epoch для валідації.
Модель
34. 34
= 0.9899
IoU =
Area of Intersection
Area of Union
Модель
Маска зроблена людиною
Видача моделі
35. 35
Середня метрика на валідації: 99.435%
Класс IoU score (%)
Long pants 99.428
Shorts 99.617
Short-sleeve tops,
dresses
99.502
Long-sleeve tops,
dresses
99.588
Beachwear,
sportswear,
nightwear,
accessories
98.815
White color clothes 98.868
Результат
48. 48
● Чистка та кластеризація датасету
● Пошук сильної архітектури (MaskRCNN (93.7%) та BASNet (94.4%)).
● Паралелізація Horovod на відеокартах
● Пошук підходящої аугментації датасету
● Маска продуктів коли задній фон та одежа схожих відтінків
● Перевірка масок моделі після ШІ
Труднощі
50. 50
Ви маєте 100 000 фотографій і вам треба навчити модель ШІ
● Як грузити фотографії швидко у оперативну пам’ять:
○ Multiprocessing Pool in Python
■ Паралелізація для бідних
Як працювати з великим датасетом
51. 51
Ви маєте 100 000 фотографій і вам треба навчити модель ШІ
● Що робити у випадку нестачі оперативної пам’яті
○ Ви можете створити “swap memory”
■ HDD - але дуже повільно
■ SSD - дуже швидкий варіант, але ви вбиваєте ваш SSD.
○ Навчати модель не на всіх даних, а на батчах
■ Загрузити батч і навчити модель
■ Загрузити наступний батч і навчити модель
■ -----------------------повторити багато разів--------------------------
■ Це працює але ваша модель перенавчається під нові батчі, а минулі батчі поступово забуваються
Як працювати з великим датасетом
52. 52
Ви маєте 100 000 фотографій і вам треба навчити модель ШІ
● Написати даталоадер (для прикладу TF or Pytorch) - правильний розв’язок
○ Ви можете обробляти необмежені датасети і не перегружать оперативну пам’ять.
○ Дані загружаються під час навчання
■ Так, 1 картинка може бути загружена 5 разів протягом 5 епох, ви втрачаєте час на обробку
фотографій дуже сильно але маєте змогу навчати модель без oom помилок!
● Це абсолютно нормально якщо вам не вистачає оперативної пам’яті під час роботи з картинками.
● Більш того, якщо ваші дані для моделі ШІ поміщаються в оперативну пам’ять - у вас дуже мало даних!
Як працювати з великим датасетом
53. 53
Даталоадери грузять дані для навчання батч за батчем під час навчання моделі і не нагружают
оперативну пам’ять
1) tf.data.Dataset
2) tf.keras.preprocessing.image.ImageDataGenerator - потребує спеціальної структури файлів на
комп’ютері
● Train
○ Class1
■ Img 1
■ ………
■ Img n
○ Class2
○ Class3
● Test
○ Class1
○ Class2
○ Class3
TensorFlow даталоадери