케라스 창시자에게 배우는 딥러닝- 02. 배치 데이터, 텐서의 실제 사례
배치 데이터
배치 데이터는 일반적으로 딥러닝에서 사용하는 모든 데이터 텐서의 첫번째 축은 샘플 축입니다.
딥러닝 모델은 한번에 전체 데이터 셋을 처리하지 않습니다.
대신, 데이터를 작은 배치로 나눠서 처리합니다.
예시로 말씀드리면,
batch= train_images[:128] -> 128번째 데이터까지 처리
batch= train_images[128:256] -> 128~256번 데이터 처리
batch= train_images[128*n:128*(n+1)]
이런식으로 128개씩 데이터를 끊어서 처리하는 방식입니다.
텐서의 실제 사례
텐서 기반 데이터는 크게는 총 4개의 사례로 나눠져있습니다.
1. 벡터 데이터
(samples, features) 크기의 2D 텐서
저희가 기본적으로 알고 있는 2개의 축을 가진 텐서 데이터입니다.
2. 시계열 데이터 or 시퀀스 데이터
(samples, features, timesteps) 크기의 3D 텐서
데이터에서 시간이 중요할 때, 시간 축을 추가해 3D 텐서로 데이터를 구성
주식 가격 데이터셋을 예로 들자면,
1분마다의 현재 주가와 판매량 그리고 시간을 축으로 놓으면
주가 (x), 판매량 (y), 시간 (z) 축으로 구성되어있습니다.
3. 이미지 데이터
(samples, height, width, color_depth) 크기의 4D 텐서
128개의 배치 그리고 256*256 크기의 이미지라고 가정을 한다면
흑백 이미지 - (128, 256, 256, 1)
컬러 이미지 - (128, 256, 256, 3) 텐서로 저장 가능합니다.
4. 비디오 데이터
(sample, frames, height, width, color_depth) 크기의 5D 텐서
예를 들어서, 60초짜리 144*256 유투브 비디오 클립을 초당 4프레임으로 샘플링하면 240 프레임이 됩니다.