데이터가 적고, GPU도 없는 환경에서 CNN에 도전(전이 학습)
3775 단어 KerasCNNDeepLearning전이 학습이미지 인식
기사 요약
전이 학습과 fine tuning을 사용하여 적은 데이터로 화상 인식을 실시했다는 이야기.
소스 코드는→htps://기주 b.코 m/유시 오카무라/cn_t
개요
・상정하는 독자
・개인으로 DL할 때의 난점
· 미리 학습 된 모델을 사용합시다.
・전이 학습을 fine tuning
· 얼굴 이미지로 사용해 보자.
가정하는 독자
CNN의 원리를 어떻게 알 수 있는 분
어리석은 데이터 수집에 약한 사람
직장에서 이미지 인식을 시작한 분
전이 학습 · fine tuning이라는 방법에 대해 알고 싶은 분
문장 밖의 기사에 질리지 않는 분
개인으로 (자신의 PC에서) DL 할 때의 장벽
이것은 우선 큰 벽에 부딪칩니다.
GPU가 탑재되어 있지 않다!
이것은 어쩔 수 없습니다. 설마 프라이빗용의 PC를 deep learning 처럼 바꾸는 것에도 갈 수 없습니다. . . GPU 없이는 학습에 시간이 걸리고 어쩔 수 없습니다. . .
해결책으로는 ...
・클라우드 컴퓨팅 서비스를 사용 ← 꼭 추천. google나 amazon은 deep learning의 학습용으로 무료로 GPU가 일부 사용할 수 있으므로, 그것을 사용한다. 예를 들어 google colablatry에서는 12시간까지 사용할 수 있어야 합니다.
・외장할 수 있는 GPU를 쓴다. ←별로 추천하지 않지만, 이러한 수단도 있습니다.
· 계산량을 줄입니다. ← 이것이 가능하면 제일 좋은 것으로, 그 때문에 어떻게 합시다는 것이 이번 메인 테마.
deep learning을 하는 데 또 하나 힘든 것이 데이터 모음입니다.
수천 장의 데이터를 모으는 작업, 젠장 귀찮아요 할 수 있으면 하고 싶지 않아요? 데이터량이 줄어들면 학습시간도 걸리기 때문에 일석이조이기도 합니다.
적은 데이터로 학습하는 방법으로 데이터의 수가 늘어나지만 이번에는 알고리즘측의 개선책, 전이 학습을 소개합니다.
전이 학습 및 fine tuning
전이학습·fine tuning은 모두 비슷한 의미로, 혼동되기 쉽지만, 어느 쪽도 미리 학습된 모델을 이용해 효율적으로 학습하려고 하는 수법입니다.
출처 htp://cs231응. s 단후 rd. 에즈 / sy 쁥 s. HTML
일반적으로 전이 학습은 특징량 추출층을 그대로 사용하여 전체 결합층만을 다시 학습합니다. 한편 fine tuning은 특징량 추출층의 일부도 다시 학습하는 방법입니다.
예를 들어 VGG16이라는 모델은 ImageNet이라는 방대한 이미지 데이터 세트에서 학습되고 있으며, 1000 클래스 분류를 할 수있는 모델입니다. 이 모델을 사용하면 어떤 이점이 있는가 하면 VGG16은 방대하고 다양한 화상 데이터로부터 1000 클래스 분류를 할 수 있는 특징량을 추출할 수 있으므로 그것을 이용하면 미지의 분류도 적다 데이터도 할 수 있다는 것입니다. 나중에 장점이라고하면 구현이 쉽습니다.
keras에서 학습한 VGG16 모델을 불러오려면
from keras.applications.vgg16 import VGG16
로 로드할 수 있습니다.
모델에 통합하려면
vgg = VGG16(weights='imagenet', include_top=False,
input_tensor=Input(shape=(224, 224, 3)))
input의 사이즈는 (224,224,3)로 고정인 것 같습니다. 여기서 읽히는 것은, 전체 결합층을 제외한 층이므로, 전체 결합층을 만들어, 붙여 주세요.
for layer in self.vgg.layers[:non_train_layers]:
layer.trainable = False
non_train_layers에서 지정한 레이어까지 학습을 중지할 수 있습니다. (가중 파라미터 고정)
얼굴 이미지로 사용해 봅시다.
cnn으로 필기 인식을 시도한 사람은 다음은 실제 이미지 데이터로 시도하고 싶을 것입니다. 그 때 개 고양이라도 좋지만, 적은 데이터로는 난이도가 높은 얼굴 인식을 해보고 싶습니다.
이번 학습용으로 사용한 데이터는 이시하라 사토미씨의 이미지와 나가세 토모야씨의 이미지입니다. 선택한 이유는 특별히 없습니다. 하고 말하면 초미인인 이시하라 사토미씨와, 다른 한쪽은 그다지 비슷하다고 식별이 어려울까라고 생각해 굉장히 어색한 쪽으로 했습니다. . .
얼굴 부분의 트리밍은 귀찮은 시간 부족 때문에, 가고 있지 않습니다. 얼굴 메인 이미지만 추출했습니다. 대체로 300장씩 정도 있습니다. 그렇다 해도 이시하라 사토미씨는 크롤링하면 얼굴 메인의 화상이 많았지요. . 미인이기 때문입니까? . ?
결과
결과라고 할 정도의 그래프도 없지만, 전이 학습, fine tuning 완전 학습에서의 정밀도와 학습 시간을 기재해 둡니다.
전체 학습
전이 학습
fine tuning
학습 시간
3시간 정도
1시간
50분
정확도(val acc)
70% 정도
92.2%
94.7%
학습이 끝난 모델을 이용하는 이점을 알 수 있었다고 생각합니다. 정밀도도 그렇습니다만, 학습 시간의 저하는 기쁘네요!
풀 학습에서는 3시간을 지나도 끝이 보이지 않고, 정밀도도 머리가 되어 온 느낌이 있었으므로 멈췄습니다.
Reference
이 문제에 관하여(데이터가 적고, GPU도 없는 환경에서 CNN에 도전(전이 학습)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yuushiokamura/items/331603ce7ec4aa1fc333
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
・상정하는 독자
・개인으로 DL할 때의 난점
· 미리 학습 된 모델을 사용합시다.
・전이 학습을 fine tuning
· 얼굴 이미지로 사용해 보자.
가정하는 독자
CNN의 원리를 어떻게 알 수 있는 분
어리석은 데이터 수집에 약한 사람
직장에서 이미지 인식을 시작한 분
전이 학습 · fine tuning이라는 방법에 대해 알고 싶은 분
문장 밖의 기사에 질리지 않는 분
개인으로 (자신의 PC에서) DL 할 때의 장벽
이것은 우선 큰 벽에 부딪칩니다.
GPU가 탑재되어 있지 않다!
이것은 어쩔 수 없습니다. 설마 프라이빗용의 PC를 deep learning 처럼 바꾸는 것에도 갈 수 없습니다. . . GPU 없이는 학습에 시간이 걸리고 어쩔 수 없습니다. . .
해결책으로는 ...
・클라우드 컴퓨팅 서비스를 사용 ← 꼭 추천. google나 amazon은 deep learning의 학습용으로 무료로 GPU가 일부 사용할 수 있으므로, 그것을 사용한다. 예를 들어 google colablatry에서는 12시간까지 사용할 수 있어야 합니다.
・외장할 수 있는 GPU를 쓴다. ←별로 추천하지 않지만, 이러한 수단도 있습니다.
· 계산량을 줄입니다. ← 이것이 가능하면 제일 좋은 것으로, 그 때문에 어떻게 합시다는 것이 이번 메인 테마.
deep learning을 하는 데 또 하나 힘든 것이 데이터 모음입니다.
수천 장의 데이터를 모으는 작업, 젠장 귀찮아요 할 수 있으면 하고 싶지 않아요? 데이터량이 줄어들면 학습시간도 걸리기 때문에 일석이조이기도 합니다.
적은 데이터로 학습하는 방법으로 데이터의 수가 늘어나지만 이번에는 알고리즘측의 개선책, 전이 학습을 소개합니다.
전이 학습 및 fine tuning
전이학습·fine tuning은 모두 비슷한 의미로, 혼동되기 쉽지만, 어느 쪽도 미리 학습된 모델을 이용해 효율적으로 학습하려고 하는 수법입니다.
출처 htp://cs231응. s 단후 rd. 에즈 / sy 쁥 s. HTML
일반적으로 전이 학습은 특징량 추출층을 그대로 사용하여 전체 결합층만을 다시 학습합니다. 한편 fine tuning은 특징량 추출층의 일부도 다시 학습하는 방법입니다.
예를 들어 VGG16이라는 모델은 ImageNet이라는 방대한 이미지 데이터 세트에서 학습되고 있으며, 1000 클래스 분류를 할 수있는 모델입니다. 이 모델을 사용하면 어떤 이점이 있는가 하면 VGG16은 방대하고 다양한 화상 데이터로부터 1000 클래스 분류를 할 수 있는 특징량을 추출할 수 있으므로 그것을 이용하면 미지의 분류도 적다 데이터도 할 수 있다는 것입니다. 나중에 장점이라고하면 구현이 쉽습니다.
keras에서 학습한 VGG16 모델을 불러오려면
from keras.applications.vgg16 import VGG16
로 로드할 수 있습니다.
모델에 통합하려면
vgg = VGG16(weights='imagenet', include_top=False,
input_tensor=Input(shape=(224, 224, 3)))
input의 사이즈는 (224,224,3)로 고정인 것 같습니다. 여기서 읽히는 것은, 전체 결합층을 제외한 층이므로, 전체 결합층을 만들어, 붙여 주세요.
for layer in self.vgg.layers[:non_train_layers]:
layer.trainable = False
non_train_layers에서 지정한 레이어까지 학습을 중지할 수 있습니다. (가중 파라미터 고정)
얼굴 이미지로 사용해 봅시다.
cnn으로 필기 인식을 시도한 사람은 다음은 실제 이미지 데이터로 시도하고 싶을 것입니다. 그 때 개 고양이라도 좋지만, 적은 데이터로는 난이도가 높은 얼굴 인식을 해보고 싶습니다.
이번 학습용으로 사용한 데이터는 이시하라 사토미씨의 이미지와 나가세 토모야씨의 이미지입니다. 선택한 이유는 특별히 없습니다. 하고 말하면 초미인인 이시하라 사토미씨와, 다른 한쪽은 그다지 비슷하다고 식별이 어려울까라고 생각해 굉장히 어색한 쪽으로 했습니다. . .
얼굴 부분의 트리밍은 귀찮은 시간 부족 때문에, 가고 있지 않습니다. 얼굴 메인 이미지만 추출했습니다. 대체로 300장씩 정도 있습니다. 그렇다 해도 이시하라 사토미씨는 크롤링하면 얼굴 메인의 화상이 많았지요. . 미인이기 때문입니까? . ?
결과
결과라고 할 정도의 그래프도 없지만, 전이 학습, fine tuning 완전 학습에서의 정밀도와 학습 시간을 기재해 둡니다.
전체 학습
전이 학습
fine tuning
학습 시간
3시간 정도
1시간
50분
정확도(val acc)
70% 정도
92.2%
94.7%
학습이 끝난 모델을 이용하는 이점을 알 수 있었다고 생각합니다. 정밀도도 그렇습니다만, 학습 시간의 저하는 기쁘네요!
풀 학습에서는 3시간을 지나도 끝이 보이지 않고, 정밀도도 머리가 되어 온 느낌이 있었으므로 멈췄습니다.
Reference
이 문제에 관하여(데이터가 적고, GPU도 없는 환경에서 CNN에 도전(전이 학습)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yuushiokamura/items/331603ce7ec4aa1fc333
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이것은 우선 큰 벽에 부딪칩니다.
GPU가 탑재되어 있지 않다!
이것은 어쩔 수 없습니다. 설마 프라이빗용의 PC를 deep learning 처럼 바꾸는 것에도 갈 수 없습니다. . . GPU 없이는 학습에 시간이 걸리고 어쩔 수 없습니다. . .
해결책으로는 ...
・클라우드 컴퓨팅 서비스를 사용 ← 꼭 추천. google나 amazon은 deep learning의 학습용으로 무료로 GPU가 일부 사용할 수 있으므로, 그것을 사용한다. 예를 들어 google colablatry에서는 12시간까지 사용할 수 있어야 합니다.
・외장할 수 있는 GPU를 쓴다. ←별로 추천하지 않지만, 이러한 수단도 있습니다.
· 계산량을 줄입니다. ← 이것이 가능하면 제일 좋은 것으로, 그 때문에 어떻게 합시다는 것이 이번 메인 테마.
deep learning을 하는 데 또 하나 힘든 것이 데이터 모음입니다.
수천 장의 데이터를 모으는 작업, 젠장 귀찮아요 할 수 있으면 하고 싶지 않아요? 데이터량이 줄어들면 학습시간도 걸리기 때문에 일석이조이기도 합니다.
적은 데이터로 학습하는 방법으로 데이터의 수가 늘어나지만 이번에는 알고리즘측의 개선책, 전이 학습을 소개합니다.
전이 학습 및 fine tuning
전이학습·fine tuning은 모두 비슷한 의미로, 혼동되기 쉽지만, 어느 쪽도 미리 학습된 모델을 이용해 효율적으로 학습하려고 하는 수법입니다.
출처 htp://cs231응. s 단후 rd. 에즈 / sy 쁥 s. HTML
일반적으로 전이 학습은 특징량 추출층을 그대로 사용하여 전체 결합층만을 다시 학습합니다. 한편 fine tuning은 특징량 추출층의 일부도 다시 학습하는 방법입니다.
예를 들어 VGG16이라는 모델은 ImageNet이라는 방대한 이미지 데이터 세트에서 학습되고 있으며, 1000 클래스 분류를 할 수있는 모델입니다. 이 모델을 사용하면 어떤 이점이 있는가 하면 VGG16은 방대하고 다양한 화상 데이터로부터 1000 클래스 분류를 할 수 있는 특징량을 추출할 수 있으므로 그것을 이용하면 미지의 분류도 적다 데이터도 할 수 있다는 것입니다. 나중에 장점이라고하면 구현이 쉽습니다.
keras에서 학습한 VGG16 모델을 불러오려면
from keras.applications.vgg16 import VGG16
로 로드할 수 있습니다.
모델에 통합하려면
vgg = VGG16(weights='imagenet', include_top=False,
input_tensor=Input(shape=(224, 224, 3)))
input의 사이즈는 (224,224,3)로 고정인 것 같습니다. 여기서 읽히는 것은, 전체 결합층을 제외한 층이므로, 전체 결합층을 만들어, 붙여 주세요.
for layer in self.vgg.layers[:non_train_layers]:
layer.trainable = False
non_train_layers에서 지정한 레이어까지 학습을 중지할 수 있습니다. (가중 파라미터 고정)
얼굴 이미지로 사용해 봅시다.
cnn으로 필기 인식을 시도한 사람은 다음은 실제 이미지 데이터로 시도하고 싶을 것입니다. 그 때 개 고양이라도 좋지만, 적은 데이터로는 난이도가 높은 얼굴 인식을 해보고 싶습니다.
이번 학습용으로 사용한 데이터는 이시하라 사토미씨의 이미지와 나가세 토모야씨의 이미지입니다. 선택한 이유는 특별히 없습니다. 하고 말하면 초미인인 이시하라 사토미씨와, 다른 한쪽은 그다지 비슷하다고 식별이 어려울까라고 생각해 굉장히 어색한 쪽으로 했습니다. . .
얼굴 부분의 트리밍은 귀찮은 시간 부족 때문에, 가고 있지 않습니다. 얼굴 메인 이미지만 추출했습니다. 대체로 300장씩 정도 있습니다. 그렇다 해도 이시하라 사토미씨는 크롤링하면 얼굴 메인의 화상이 많았지요. . 미인이기 때문입니까? . ?
결과
결과라고 할 정도의 그래프도 없지만, 전이 학습, fine tuning 완전 학습에서의 정밀도와 학습 시간을 기재해 둡니다.
전체 학습
전이 학습
fine tuning
학습 시간
3시간 정도
1시간
50분
정확도(val acc)
70% 정도
92.2%
94.7%
학습이 끝난 모델을 이용하는 이점을 알 수 있었다고 생각합니다. 정밀도도 그렇습니다만, 학습 시간의 저하는 기쁘네요!
풀 학습에서는 3시간을 지나도 끝이 보이지 않고, 정밀도도 머리가 되어 온 느낌이 있었으므로 멈췄습니다.
Reference
이 문제에 관하여(데이터가 적고, GPU도 없는 환경에서 CNN에 도전(전이 학습)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yuushiokamura/items/331603ce7ec4aa1fc333
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
from keras.applications.vgg16 import VGG16
vgg = VGG16(weights='imagenet', include_top=False,
input_tensor=Input(shape=(224, 224, 3)))
for layer in self.vgg.layers[:non_train_layers]:
layer.trainable = False
cnn으로 필기 인식을 시도한 사람은 다음은 실제 이미지 데이터로 시도하고 싶을 것입니다. 그 때 개 고양이라도 좋지만, 적은 데이터로는 난이도가 높은 얼굴 인식을 해보고 싶습니다.
이번 학습용으로 사용한 데이터는 이시하라 사토미씨의 이미지와 나가세 토모야씨의 이미지입니다. 선택한 이유는 특별히 없습니다. 하고 말하면 초미인인 이시하라 사토미씨와, 다른 한쪽은 그다지 비슷하다고 식별이 어려울까라고 생각해 굉장히 어색한 쪽으로 했습니다. . .
얼굴 부분의 트리밍은 귀찮은 시간 부족 때문에, 가고 있지 않습니다. 얼굴 메인 이미지만 추출했습니다. 대체로 300장씩 정도 있습니다. 그렇다 해도 이시하라 사토미씨는 크롤링하면 얼굴 메인의 화상이 많았지요. . 미인이기 때문입니까? . ?
결과
결과라고 할 정도의 그래프도 없지만, 전이 학습, fine tuning 완전 학습에서의 정밀도와 학습 시간을 기재해 둡니다.
전체 학습
전이 학습
fine tuning
학습 시간
3시간 정도
1시간
50분
정확도(val acc)
70% 정도
92.2%
94.7%
학습이 끝난 모델을 이용하는 이점을 알 수 있었다고 생각합니다. 정밀도도 그렇습니다만, 학습 시간의 저하는 기쁘네요!
풀 학습에서는 3시간을 지나도 끝이 보이지 않고, 정밀도도 머리가 되어 온 느낌이 있었으므로 멈췄습니다.
Reference
이 문제에 관하여(데이터가 적고, GPU도 없는 환경에서 CNN에 도전(전이 학습)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yuushiokamura/items/331603ce7ec4aa1fc333
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(데이터가 적고, GPU도 없는 환경에서 CNN에 도전(전이 학습)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yuushiokamura/items/331603ce7ec4aa1fc333텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)