본문 바로가기

전체 글

(152)
3043 - 장난감 탱크 step 1더보기더보기행과 열을 분리해서 볼 수 있습니다.step 2더보기더보기$N$ * $N$ 크기에 $N$개의 탱크를 놓습니다. 어떤 행이나 열에도 2개 이상의 탱크가 놓일 수 없으니 결국 모든 행에 1대, 모든 열에 1대의 탱크가 놓입니다.열을 먼저 생각해 봅시다. 처음에 탱크가 배치되어 있고 이 탱크들을 모든 열에 1대씩 있도록 재배치해야 합니다.처음 배치에서 두 탱크를 고른다고 생각해 봅시다. 왼쪽에 있는 탱크를 $X$, 오른쪽에 있는 탱크를 $Y$라고 합시다. 이 두 탱크는 재배치된 이후에도 $X$가 $Y$ 왼쪽에 있어야 합니다. 이것을 잘 생각해 보면 열을 기준으로 정렬한 뒤 제일 왼쪽에 있는 탱크는 1번째 열, 두번째로 왼쪽에 있는 탱크는 2번째 열, ..., $N$번째로 왼쪽에 있는 탱크..
[논문 구현] U-Net: Convolutional Networks for BiomedicalImage Segmentation U-net은 정말 다양한 곳에 쓰입니다. 저는 U-net을 노이즈 제거 작업에 사용할 것입니다. 먼저 GPU를 설정해 줍니다. 전에는 MNIST 데이터를 사용했습니다. 이번에는 fashion_mnist 데이터를 사용하겠습니다.  노이즈 제거 작업을 한다고 했었죠. 이미지에 노이즈를 입혀줍니다. 노이즈가 잘 적용되었는지 확인해 봅시다.  원본 이미지랑 비교했을 때 조금 더 얼룩이 들어가 있는 것을 확인할 수 있습니다. 이제 모델 구현으로 가봅시다. 이미지의 크기가 작으니 깊이를 2단계만 내려가도록 하겠습니다.먼저 CNN을 2번 적용하고 MaxPool을 적용합니다. 똑같이 CNN 2번에 MaxPool을 적용합니다. 다른 구현에는 함수를 사용해 중복을 줄였지만 깊이가 깊지 않으니 굳이 함수로 빼지는 않겠습니다..
[논문 리뷰] U-Net: Convolutional Networks for BiomedicalImage Segmentation UNet 에 대한 논문을 리뷰해 보겠습니다. 이것 역시 깊이 들어가기보다는무엇을 하는 녀석인가구조가 어떻게 되어 있는가어떻게 로스를 계산하는가에 중점을 두도록 하겠습니다.무엇을 하는 녀석인가이 논문에서는 세포들이 있는 이미지가 입력으로 주어지면 서로 다른 세포들을 분류해 주는 인공지능입니다. 하지만 다양한 곳에 쓰일 수 있습니다.구조가 어떻게 되어 있는가CNN을 이용해서 데이터를 수축시키고 여기에 up-conv를 적용해 다시 팽창시킵니다. 그림을 보면 U자 형태를 띄고 있습니다. 첫 번째572*572*3이미지가 주어집니다. *3은 색을 나타냅니다. 3*3 CNN을 2번 적용하되 padding을 주지 않아 크기가 2씩 줄어듭니다. 채널은 64개를 사용합니다. 이후 max pool을 해서 284*284*64..