SlideShare a Scribd company logo
1 of 42
Image style transfer
Báo cáo nghiên cứu quý 2 - 2018
Agenda
1. Giới thiệu về style transfer
2. Tổng quan về Machine learning và Deep learning
3. Sử dụng convolution:
1. Giới thiệu về convolution
2. Convolution style transfer
4. Sử dụng GAN:
1. Giới thiệu về GAN
2. Giới thiệu về Cycle GAN
5. Demo
Ví dụ style transfer
Ví dụ style transfer
Ví dụ style transfer
Ví dụ style transfer
Các hướng tiếp cận
Convolution transfer Pix2pix ( Conditional GAN ) Cycle GAN
Transfer learning Supervised learning Unsupervised learning
Agenda
1. Giới thiệu về style transfer
2. Tổng quan về Machine learning và Deep learning
3. Sử dụng convolution:
1. Giới thiệu về convolution
2. Convolution style transfer
4. Sử dụng GAN:
1. Giới thiệu về GAN
2. Giới thiệu về Cycle GAN
5. Demo
Tổng quan ML
● Sử dụng Machine Learning => học một hàm số f(x) = y
● Các giai đoạn cơ bản :
○ Tạo 1 mô hình khởi tạo f(x) 1 cách ngẫu nhiên
○ Xây dựng 1 hàm loss function để biểu diễn sự sai khái giữa kết quả thực tế y và đầu ra của
mô hình f(x)
○ Thông qua loss function => update các tham số của mô hình f(x)
Tổng quan DL
Agenda
1. Giới thiệu về style transfer
2. Tổng quan về Machine learning và Deep learning
3. Sử dụng convolution:
1. Giới thiệu về convolution
2. Convolution style transfer
4. Sử dụng GAN:
1. Giới thiệu về GAN
2. Giới thiệu về Cycle GAN
5. Demo
Convolution (1)
Convolution (2)
Convolution (3)
Convolution (4)
Agenda
1. Giới thiệu về style transfer
2. Tổng quan về Machine learning và Deep learning
3. Sử dụng convolution:
1. Giới thiệu về convolution
2. Convolution style transfer
4. Sử dụng GAN:
1. Giới thiệu về GAN
2. Giới thiệu về Cycle GAN
5. Demo
Style transfer example
Style transfer overview
Content representation
Content loss
Style loss - GRAM matrix
Style representation
Total loss
Agenda
1. Giới thiệu về style transfer
2. Tổng quan về Machine learning và Deep learning
3. Sử dụng convolution:
1. Giới thiệu về convolution
2. Convolution style transfer
4. Sử dụng GAN:
1. Giới thiệu về GAN
2. Giới thiệu về Cycle GAN
5. Demo
GAN ( Generative adversarial network )
Trò chơi cảnh sát - người làm tiền giả :
● Người làm tiền giả không hề biết cách để tạo ra tiền thật, họ chỉ cố gắng mô
phỏng lại tiền
● Cảnh sát có nhiệm vụ phát biệt tiền giả - tiền thật
● Người làm tiền giả cố gắng lừa cảnh sát rằng tiền mình tạo ra là thật
● Dựa trên việc tiền giả có bị phát hiện hay không, người làm tiền giả sẽ cải
tiến phương pháp
● Tiền giả ngày càng tinh vi => cảnh sát cải tiền phương pháp phát hiện
● 2 bên cạnh tranh => tiền giả ngày càng giống tiền thật
GAN
● GAN mô phỏng lại trò chơi này bằng 2 neural network :
○ Người làm tiền giả : Generator : sinh ra những dự liệu
giống thực tế nhất có thể
○ Cảnh sát : Discriminator : phát hiện đó là dữ liệu thực tế
hay dữ liệu do Generator sinh ra
Train GAN : Discriminator
● Generator được khởi tạo một cách ngẫu nhiên
● Sinh ra 1 vài fake data từ generator
● Tạo 1 dataset :
○ Fake data có label là 0,
○ Real data có label là 1
● Train discriminator => cập nhật discriminator
Train GAN : Generator
● Freeze discriminative model
● Sinh ra fake data từ generator model
● Đánh tất cả các fake data có label = 1
● Train generator model dựa trên
phản hồi của discriminative model
GAN Pseudocode
DCGAN : MNIST
Discriminator Generator
DCGAN : MNIST : kết quả
Agenda
1. Giới thiệu về style transfer
2. Tổng quan về Machine learning và Deep learning
3. Sử dụng convolution:
1. Giới thiệu về convolution
2. Convolution style transfer
4. Sử dụng GAN:
1. Giới thiệu về GAN
2. Giới thiệu về Cycle GAN
5. Demo
Unpaired/Paired dataset
● Unpaired:
○ Disco GAN
○ Cycle GAN
● Paired:
○ Pix2pix ( conditional GAN )
Cycle GAN
Cycle GAN : kiến trúc
Cycle GAN : Generator
Cycle GAN : Generator : Transformation
Cycle GAN : Discriminator
Cycle GAN : Discriminator : Loss function
● Chúng ta vẫn sử dụng loss function tương tự như GAN.
Cycle GAN : Generator: Loss function
● Generator loss bao gồm 2 phần :
○ Discriminator loss : tương tự như GAN
○ Cycle loss :
Cycle GAN Pseudocode
Agenda
1. Giới thiệu về style transfer
2. Tổng quan về Machine learning và Deep learning
3. Sử dụng convolution:
1. Giới thiệu về convolution
2. Convolution style transfer
4. Sử dụng GAN:
1. Giới thiệu về GAN
2. Giới thiệu về Cycle GAN
5. Demo

More Related Content

More from GMO-Z.com Vietnam Lab Center (13)

Optimizing MySQL queries
Optimizing MySQL queriesOptimizing MySQL queries
Optimizing MySQL queries
 
Surveillance on slam technology
Surveillance on slam technologySurveillance on slam technology
Surveillance on slam technology
 
Blockchain & Smart Contract - Bắt đầu như thế nào và các ứng dụng
Blockchain & Smart Contract - Bắt đầu như thế nào và các ứng dụngBlockchain & Smart Contract - Bắt đầu như thế nào và các ứng dụng
Blockchain & Smart Contract - Bắt đầu như thế nào và các ứng dụng
 
Giới thiệu Embulk
Giới thiệu Embulk Giới thiệu Embulk
Giới thiệu Embulk
 
Giới thiệu docker và ứng dụng trong ci-cd
Giới thiệu docker và ứng dụng trong ci-cdGiới thiệu docker và ứng dụng trong ci-cd
Giới thiệu docker và ứng dụng trong ci-cd
 
Tài liệu giới thiệu công ty GMO-Z.com Vietnam Lab Center
Tài liệu giới thiệu công ty GMO-Z.com Vietnam Lab CenterTài liệu giới thiệu công ty GMO-Z.com Vietnam Lab Center
Tài liệu giới thiệu công ty GMO-Z.com Vietnam Lab Center
 
Chia se Agile
Chia se AgileChia se Agile
Chia se Agile
 
Agile retrospective
Agile retrospectiveAgile retrospective
Agile retrospective
 
Giới thiệu Agile + Scrum
Giới thiệu Agile + ScrumGiới thiệu Agile + Scrum
Giới thiệu Agile + Scrum
 
Create android app can send SMS and Email by React Natice
Create android app can send SMS and Email by React NaticeCreate android app can send SMS and Email by React Natice
Create android app can send SMS and Email by React Natice
 
Introduce React Native
Introduce React NativeIntroduce React Native
Introduce React Native
 
Spark tuning
Spark tuningSpark tuning
Spark tuning
 
Git in real product
Git in real productGit in real product
Git in real product
 

Image Style Transfer

  • 1. Image style transfer Báo cáo nghiên cứu quý 2 - 2018
  • 2. Agenda 1. Giới thiệu về style transfer 2. Tổng quan về Machine learning và Deep learning 3. Sử dụng convolution: 1. Giới thiệu về convolution 2. Convolution style transfer 4. Sử dụng GAN: 1. Giới thiệu về GAN 2. Giới thiệu về Cycle GAN 5. Demo
  • 3. Ví dụ style transfer
  • 4. Ví dụ style transfer
  • 5. Ví dụ style transfer
  • 6. Ví dụ style transfer
  • 7. Các hướng tiếp cận Convolution transfer Pix2pix ( Conditional GAN ) Cycle GAN Transfer learning Supervised learning Unsupervised learning
  • 8. Agenda 1. Giới thiệu về style transfer 2. Tổng quan về Machine learning và Deep learning 3. Sử dụng convolution: 1. Giới thiệu về convolution 2. Convolution style transfer 4. Sử dụng GAN: 1. Giới thiệu về GAN 2. Giới thiệu về Cycle GAN 5. Demo
  • 9. Tổng quan ML ● Sử dụng Machine Learning => học một hàm số f(x) = y ● Các giai đoạn cơ bản : ○ Tạo 1 mô hình khởi tạo f(x) 1 cách ngẫu nhiên ○ Xây dựng 1 hàm loss function để biểu diễn sự sai khái giữa kết quả thực tế y và đầu ra của mô hình f(x) ○ Thông qua loss function => update các tham số của mô hình f(x)
  • 11. Agenda 1. Giới thiệu về style transfer 2. Tổng quan về Machine learning và Deep learning 3. Sử dụng convolution: 1. Giới thiệu về convolution 2. Convolution style transfer 4. Sử dụng GAN: 1. Giới thiệu về GAN 2. Giới thiệu về Cycle GAN 5. Demo
  • 16. Agenda 1. Giới thiệu về style transfer 2. Tổng quan về Machine learning và Deep learning 3. Sử dụng convolution: 1. Giới thiệu về convolution 2. Convolution style transfer 4. Sử dụng GAN: 1. Giới thiệu về GAN 2. Giới thiệu về Cycle GAN 5. Demo
  • 21. Style loss - GRAM matrix
  • 24. Agenda 1. Giới thiệu về style transfer 2. Tổng quan về Machine learning và Deep learning 3. Sử dụng convolution: 1. Giới thiệu về convolution 2. Convolution style transfer 4. Sử dụng GAN: 1. Giới thiệu về GAN 2. Giới thiệu về Cycle GAN 5. Demo
  • 25. GAN ( Generative adversarial network ) Trò chơi cảnh sát - người làm tiền giả : ● Người làm tiền giả không hề biết cách để tạo ra tiền thật, họ chỉ cố gắng mô phỏng lại tiền ● Cảnh sát có nhiệm vụ phát biệt tiền giả - tiền thật ● Người làm tiền giả cố gắng lừa cảnh sát rằng tiền mình tạo ra là thật ● Dựa trên việc tiền giả có bị phát hiện hay không, người làm tiền giả sẽ cải tiến phương pháp ● Tiền giả ngày càng tinh vi => cảnh sát cải tiền phương pháp phát hiện ● 2 bên cạnh tranh => tiền giả ngày càng giống tiền thật
  • 26. GAN ● GAN mô phỏng lại trò chơi này bằng 2 neural network : ○ Người làm tiền giả : Generator : sinh ra những dự liệu giống thực tế nhất có thể ○ Cảnh sát : Discriminator : phát hiện đó là dữ liệu thực tế hay dữ liệu do Generator sinh ra
  • 27. Train GAN : Discriminator ● Generator được khởi tạo một cách ngẫu nhiên ● Sinh ra 1 vài fake data từ generator ● Tạo 1 dataset : ○ Fake data có label là 0, ○ Real data có label là 1 ● Train discriminator => cập nhật discriminator
  • 28. Train GAN : Generator ● Freeze discriminative model ● Sinh ra fake data từ generator model ● Đánh tất cả các fake data có label = 1 ● Train generator model dựa trên phản hồi của discriminative model
  • 31. DCGAN : MNIST : kết quả
  • 32. Agenda 1. Giới thiệu về style transfer 2. Tổng quan về Machine learning và Deep learning 3. Sử dụng convolution: 1. Giới thiệu về convolution 2. Convolution style transfer 4. Sử dụng GAN: 1. Giới thiệu về GAN 2. Giới thiệu về Cycle GAN 5. Demo
  • 33. Unpaired/Paired dataset ● Unpaired: ○ Disco GAN ○ Cycle GAN ● Paired: ○ Pix2pix ( conditional GAN )
  • 35. Cycle GAN : kiến trúc
  • 36. Cycle GAN : Generator
  • 37. Cycle GAN : Generator : Transformation
  • 38. Cycle GAN : Discriminator
  • 39. Cycle GAN : Discriminator : Loss function ● Chúng ta vẫn sử dụng loss function tương tự như GAN.
  • 40. Cycle GAN : Generator: Loss function ● Generator loss bao gồm 2 phần : ○ Discriminator loss : tương tự như GAN ○ Cycle loss :
  • 42. Agenda 1. Giới thiệu về style transfer 2. Tổng quan về Machine learning và Deep learning 3. Sử dụng convolution: 1. Giới thiệu về convolution 2. Convolution style transfer 4. Sử dụng GAN: 1. Giới thiệu về GAN 2. Giới thiệu về Cycle GAN 5. Demo

Editor's Notes

  1. The fundamental difference between a densely connected layer and a convolution layer is this: Dense layers learn global patterns in their input feature space (for example, for a MNIST digit, patterns involving all pixels), whereas convolution layers learn local patterns (see figure 5.1) They can learn spatial hierarchies of patterns (see figure 5.2). A first convolution layer will learn small local patterns such as edges, a second convolution layer will learn larger patterns made of the features of the first layers, and so on. This allows convnets to efficiently learn increasingly complex and abstract visual concepts (because the visual world is fundamentally spatially hierarchical).
  2. We can see that as we reconstruct the original image from deeper layers we still preserve the high-level content of the original but lose the exact pixel information.
  3. Tại sao cần phải có lop ADD : chúng ta vẫn muốn bức ảnh giống ảnh gốc nhiều nhất có thể > chúng ta sử dụng trực tiếp input như 1 đầu vào trực tiếp > hạn chế bức ảnh bị chêch đi quá nhiều ( do ảnh hưởng của các lop conv )