본드 퍼즐을 만들어봤어요.

며칠 전 그는 딥러닝에서 방가드 수수께끼를 풀었다는 보도가 있었다.
이 수수께끼를 보면, 그것은 마치 간단한 유형의 문제인 것 같다.
그렇다면 힘들게 공부하는 내용이기 때문에 이른바 이전학습으로 해결해 보자.
코드 등은 아래에 두세요.
MuAuan/Solving_Bongard_Problems
[참고]
2018년 03월 09일 09시 30분 00초 두 그룹으로 나뉜 모습에 따라 분류 규칙을 추측하는'방가드 수수께끼'는 딥러닝으로 해결된다
Original은 아래 사이트인 것 같아요.
Solving Bongard Problems With Deep Learning 25 Feb 2018

최종 보고서 결과


이 보도에 따르면 결과는 다음과 같다. 어떤 의미에서는 불가능하다.상술한 참고 보도에서 인용한 말
"232개의 문제를 풀었는데, 47개의 테스트 이미지가 정확하게 좌우로 분리되었고, 그 중 41개의 정확한 분류가 있었다.다음 그림은 녹색 부분의 정확한 문제, 빨간색 부분의 잘못된 문제를 보여 줍니다.흰색 부분은 두 테스트 이미지가 모두 왼쪽이나 오른쪽으로 나뉘어 있어 풀 수 없는 문제입니다. "
정답은 녹색 부분밖에 없다는 얘기다.
그나저나 어떤 이유로 이 분류는 딥러닝에서 어렵죠.그게 뭔지 궁금해요.또는 이것은 간단한 분류 문제에 대한 한계성(인류의 지혜와 다르다)을 나타낼 수 있다는 의미에서 나는 매우 흥미를 느낀다.

수수께끼 그림 준비하기


문제를 해결하기 위해 수수께끼 그림을 하나하나의 그림으로 나누어 0과 1의 종류로 삼는다.
이 문제의 난점은 6개/분류 중의 모든 데이터가 유일무이하다는 데 있다.
이전에 논의했던 1datachallenge다.
이것은 아마도 난이도 중의 하나일 것이다.하지만 과도한 학습도 가능하다. 한마디로 다른 이미지로 분류할 수 있다면 된다.
어쨌든 이번 작업은 시간이 많이 걸려서 10일까지 도전했습니다.
※ 매일 조금씩 증가

모형 준비


이미지 데이터 읽기는 이전 이전 이동 학습에서 사용된 getDataSet입니다.py를 사용했습니다.이것은 디렉터리를 지정하여 데이터를 읽고 열차 데이터와 테스트 데이터로 가져옵니다.동시에 디렉터리의 번호는 각자의 데이터 분류로 번호를 매긴다.
그리고 모델 입력 데이터 크기는 110×110 정도이기 때문에 128x128로 VGG16의 이전 학습을 실시했습니다.최초의 10층 고정.
for layer in model.layers[1:10]:  
    layer.trainable = False

결과


문제는 6개 중 5개는 Train 데이터(즉 2개 카테고리 중 10개), 나머지 1개(즉 2개 카테고리 중 2개)는 Test 데이터라는 점이다.
10위권에 도전하다.분류가 순조롭다.그리고 val_acc를 기재하다.0.5는 반분류를 할 수 있고, 0은 둘 다 다른 분류를 했다는 것을 나타낸다.
Problem










results


0.5
0.5

〇⇒0.5



0.5
여기서 偶0.5는 도중에 偶이지만 결국 0.5가 된다.
Problem
십일
십이
십삼
십사
십오
십육
십칠
십팔
십구
이십
results

0

0

0



0.5
12, 14, 16에서 0, 즉 거꾸로 분류되는 현상이 발생했으니 앞으로 별도로 고찰할 예정이다.

고찰


문제 20 이전의 문제에 대해 몇 개의 쌍방이 모두 실패한 상황이 나타났다. 여기서 한 측이 실패한 상황을 토론하고 두 측이 실패한 상황은 나중에 별도로 고찰한다.이런 것들에 대해서는 어떤 의미에서 대체적으로 정확한 답안을 제시한 것으로 평가할 수 있다.그럼에도 불구하고 실패한 상황을 보는 것이 무슨 의미가 있겠는가.
No.3 예

검은색을 칠하고 흰색을 뺀 것이기 때문에 정확하게 대답하고 싶지만 그림이 작은 것(대략 맨 아래 오른쪽 그림)을 남기면 식별할 수 없습니다.
No.4

이 질문은 다른 사람이 생각해도 어려워요. 왼쪽은 솔직한 도형이고 오른쪽은 움푹 들어간 것 같아요.이것을 하나만 실시하면 오른쪽 맨 아래에 있는 오른쪽의 구옥형이 실패한다.반대로 야구형은 때때로 실패할 수도 있다.
No.6 예

epoch30x3회면 0.5가 되지만 epoch50x3회면 끝까지 1이 정답입니다.이 문제는 왼쪽은 삼각형, 오른쪽은 사각형, 오른쪽 가운데 왼쪽과 삼각형의 차이가 매우 크다.
No.10 예

이 문제는 왼쪽은 삼각형, 오른쪽은 사각형으로 이해하기 쉽다.하지만 VGG16이라면 이 문제가 가장 어려운 것 같습니다. epoch50x3로 해보면 거의 0이 됩니다.그러니까 정확하지 않다는 거야.비교는 왼쪽 맨 아래 오른쪽과 오른쪽 맨 아래 오른쪽의 작은 톱날 삼각형과 작은 사각이다.역시 다른 그림과는 다르다.
오른쪽 맨 아래 오른쪽의 이미지는 매우 작고 왼쪽의 두 이미지와 가깝다. 왼쪽 맨 아래 오른쪽의 작은 톱니 삼각형은 톱니만 보고 오른쪽의 톱니 세 개에 가깝다. 각자의 핑계는 잘못된 요소가 있는 것 같다.
No.20은

이 두 개의 ● 위치에 따라 분류하는 것 같지만 사람이 봐도 판단하기 어렵다.특히 두 개의 ● 수평 또는 수직 배열을 보기 시작하면 알 수 없다.참고로 이 분류는 왼쪽 맨 아래 오른쪽과 오른쪽 맨 아래 오른쪽의 이미지가 다른 5개 이미지 중 어느 것에 가까운지에 따라 분류됩니다.결국 오른쪽 맨 아래 오른쪽이 틀렸다.
여기서 중요한 것은 어떻게 분류하는가이다.
이런 방법은 특별한 추리와 논리가 아니라 각 5개의 이미지에서 얻은 권중을 단순히 사용하여 문제 이미지를 입력할 때 어떤 종류로 하는가를 말한다.응, 그런 의미에서 이미지의 특징이 비슷하다면 그렇게 분류했으면 좋겠지만 No10에서 본 것처럼 간단하지는 않아.

도전하다


이 이미지의 분류에 따르면 많은 물체 식별의 기초로 귤의 선택과 오이의 선택 등도 사용된 기본 중의 기본이다.이 방가드 수수께끼는 언뜻 보기에는 논리적이어서 단순한 이미지 식별은 아닌 것 같지만 어떻게 분류해야 할지 고민하는 데는 적당한 과제인 것 같다.
따라서 앞으로 더 많은 문제에 적용하면서 중간층 등의 특징을 관찰하면서 진정한 이유를 확인하고 싶습니다.

경품


이번에는 뜨지 않고 해보면 Train 3개, Test 3개 등 모두 정답을 맞힐 수 있는 질문도 있다.그리고 더 재미있는 이야기로 VGG16의 본드 퀴즈를 만들었다.
※ 참고로 잘못된 문제의 잘못된 쪽 집합 사이의 당연한 귀착에서 나온 것입니다.
이에 관해서는 다음 번 이후에 상술한 내용과 분리하여 열거할 것이다.

좋은 웹페이지 즐겨찾기