파이썬 프로그래밍/Numpy 딥러닝46 38.[RNN기초] 자연어 데이터는 어떻게 접근해야 할까? 드디어 연구를 끝냈다! 1. 들어가며 이전까지 학습한 내용의 데이터는 ( 데이터 갯수, 데이터 특징 )으로 구성된 csv 자료였거나 ( 데이터 갯수, 가로, 세로, 채널 )로 구성된 이미지 파일이었다. 이번엔 인공신경망에 자언어 데이터를 입력할 수 없을까? 자연어란 인간이 사용하는 언어라고 쉽게 생각하자. 예를 들어 "as soon as", "as as soon", "soon as as" 세 개의 문장에 대해 문법적으로 어떤 것이 의미 있는지 구별할 수 있는 인공신경망을 제작한다고 하자 "as soon as" → 1 "as as soon" → 0 "soon as as" → 0 "as soon as"는 문법적으로 올바르고 영어에서 널리 사용된다. 이것은 어떤 특정한 사건이나 상태가 발생한 직후 또는 직후에.. 2023. 9. 11. 37. [CNN기초] 다채널(multi channel) 다루기 이전 시간까지 1개 채널을 가진 이미지를 1개의 필터를 이용하여 특성을 추출한 후 학습을 진행하였다. 1개 채널을 가진 이미지로 만들기 위해 흑백이미지(Grayscale)로 만들어 학습시켰다. 하지만, 색깔도 엄연히 이미지의 특징에 해당된다. 예를 들어 아래 사진의 색맹분들 처럼 입력 데이터에 색깔 정보가 없다면, 인공신경망은 잘못된 학습을 할 가능성이 높다. 색상에 대한 정보를 어떻게 다루어야 하는지 CNN 시리즈 마지막 포스트로 이야기 하고자 한다. 1. 채널(channel) 채널이란 영상 또는 이미지의 색상에 대한 정보를 담은 객체라고 생각해 볼 수 있으며 일반적으로 아래와 같이 R, G, B, Alpha로 구성되어 있다. 아래 코드를 통해 직접 확인해 보자. import numpy as np im.. 2023. 2. 18. 36. [CNN기초] 원, 네모를 구별하는 CNN 만들기(실습) 저번시간에 합성곱으로 원과 네모를 구별하는 CNN을 어떻게 구성하고, 학습할 수 있는지 그림과 함께 알아보았다. 이번 시간에는 직접 코드를 작성해 보면서 가능한지 알아보자. 1. 준비하기 1) CNN 구성 Input → Conv2D → relu → Max Pooling → flatten → fc → sigmoid 2) 이미지 준비하기 아래의 파일을 다운받아 적절한 곳에 풀자. 28 × 28 이미지 train : 원 12개, 네모 12개 test : 원 2개, 네모 2개 3) train data 학습데이터를 불러오고 이미지를 출력해 보자. 이미지를 불러와서 Numpy 배열에 넣자. 주의할 점은 2가지가 있는데 (1) 흰색 바탕에 검은색 그림 → 반전(bitwise_not) 시켜 검은색 바탕에 흰색 그림으로.. 2023. 2. 1. 35. [CNN기초] 원, 네모를 구별하는 CNN 만들기(이론) 1. 문제제기 아래 예시와 같이 원과 네모를 구별하는 문제가 있다. 3살짜리 아이도 맞출 만큼 굉장히 쉬운 문제다. 실전을 들어가 보자. 3 × 3 크기의 합성곱 필터 1개를 이용하여 합성곱 → relu → 2 × 2 필터 Max pooling → 분류기 fc → sigmoid를 이용하여 원과 네모를 분류할 수 있을까? 데이터를 구해보자. 본인은 데이터를 구할 때 kaggle을 열심히 이용한다. 아래와 같이 용량도 적절한 데이터를 찾았다. CC0:Public Domain 라이센스도 맘에 든다. 149.2kB인 착한 용량도 마음에 든다. 이 데이터는 원(Circle) 100장, 네모(Square) 100장, 삼각형(Triangle) 100장으로 구성된 28 × 28 데이터인데, 필터 1개만 이용할 것이므로.. 2023. 1. 28. 이전 1 2 3 4 5 6 ··· 12 다음