익명 사용자
로그인하지 않음
토론
기여
계정 만들기
로그인
IT 위키
검색
ShuffleNet
편집하기
IT 위키
이름공간
문서
토론
더 보기
더 보기
문서 행위
읽기
편집
원본 편집
역사
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
ShuffleNet(영어: ShuffleNet)은 모바일 및 임베디드 디바이스 환경에서 매우 제한된 연산 자원 하에서도 고성능 이미지 인식이 가능하도록 설계된 경량 컨볼루션 신경망(CNN) 아키텍처이다. ==개요== ShuffleNet은 연산량이 극히 적은 환경(수십 MFLOPs 수준)에서도 동작하도록 설계되었다. 핵심은 두 가지 연산 기법인 포인트와이즈 그룹 컨볼루션(pointwise group convolution)과 채널 셔플(channel shuffle)이다. 이 두 기법을 통해 계산 비용을 줄이면서도 채널 간 정보 혼합을 보장해 정확도를 유지한다. ==역사== ShuffleNet은 2017년 “ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices” 논문에서 제안되었다. 이후 2018년에는 “ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design” 논문이 발표되어, 실제 하드웨어 속도 및 메모리 접근 비용(memory access cost, MAC)을 고려한 구조 개선이 이루어졌다. ShuffleNet 시리즈는 MobileNet과 함께 경량 모델 설계의 대표적인 사례로 평가받는다. ==아키텍처== ShuffleNet의 설계 핵심은 그룹 컨볼루션과 채널 셔플 연산을 조합하여 효율적으로 정보를 전달하는 것이다. ===핵심 설계 요소=== *포인트와이즈 그룹 컨볼루션(pointwise group convolution): **채널을 여러 그룹으로 나누어 1×1 컨볼루션을 수행함으로써 연산량을 줄인다. *채널 셔플(channel shuffle): **그룹 컨볼루션의 채널 간 정보 교류가 제한되는 문제를 해결하기 위해, 출력 채널을 재배열하여 그룹 간 상호작용을 가능하게 한다. ===전체 구조 개요 (ShuffleNet V1 기준)=== *입력: 224×224×3 RGB 이미지 *초기 컨볼루션: 3×3 컨볼루션 + 맥스풀링 *이후 여러 단계(stage)의 ShuffleUnit으로 구성됨 *마지막은 Global Average Pooling → Fully Connected → Softmax 출력 ====ShuffleUnit 내부 구조==== #1×1 그룹 컨볼루션 (채널 축소 또는 그룹화) #3×3 depthwise 컨볼루션 (공간 필터링) #1×1 그룹 컨볼루션 (채널 확장) #채널 셔플 연산 #잔차 연결 또는 출력 채널 변경 시 스트라이드/다운샘플링 ===ShuffleNet V2 개선점=== ShuffleNet V2는 실제 장치에서의 속도, 메모리 접근 효율, 병렬 처리 성능 등을 고려하여 설계 지침(Guidelines)을 제시하였다. *G1: 입력 채널과 출력 채널의 크기가 같을 때 MAC이 최소화된다. *G2: 그룹 컨볼루션을 과도하게 사용하면 오히려 MAC이 증가할 수 있다. *G3: 네트워크가 너무 조각(fragmented)되면 병렬 효율이 떨어진다. *G4: 요소별 연산(element-wise operation)의 비용도 고려해야 한다. ShuffleNet V2 유닛은 다음과 같은 구조를 따른다. *채널 스플릿(channel split): 입력 채널을 두 갈래(branch)로 나눈다. *한 브랜치는 연산을 거치고, 다른 브랜치는 아이덴티티(identity)로 유지된다. *연산 브랜치: 1×1 컨볼루션 → 3×3 depthwise 컨볼루션 → 1×1 컨볼루션 *두 브랜치를 합친 뒤 채널 셔플 연산 수행. ==주요 버전== *ShuffleNet V1: **그룹 컨볼루션과 채널 셔플 개념을 최초로 도입한 모델. **약 40 MFLOPs 수준의 계산량에서도 높은 정확도 달성. *ShuffleNet V2: **메모리 접근 비용(MAC)과 실제 속도를 고려하여 구조 최적화. **효율성, 병렬성, 하드웨어 친화성이 개선된 버전. ==기술적 특징 및 장점== *매우 적은 연산량으로도 모바일 환경에서 실시간 동작 가능. *그룹 컨볼루션과 셔플 연산을 통해 연산 효율과 표현력을 동시에 확보. *실제 하드웨어 성능을 고려한 설계로 모바일 및 엣지 디바이스에 최적화됨. ==한계== *그룹 컨볼루션과 셔플 연산은 하드웨어별 구현 효율이 상이해 최적화가 필요하다. *과도한 경량화는 대규모 데이터셋이나 복잡한 태스크에서 정확도 저하를 초래할 수 있다. ==같이 보기== *[[MobileNet]] *[[EfficientNet]] *[[ResNet]] *[[ShuffleNet V2]] ==참고 문헌== *Xiangyu Zhang, Xinyu Zhou, Mengxiao Lin, Jian Sun, "ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices," arXiv:1707.01083, 2017. *Ningning Ma, Xiangyu Zhang, Hai-Tao Zheng, Jian Sun, "ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design," arXiv:1807.11164, 2018. *Ian Goodfellow, Yoshua Bengio, Aaron Courville, "Deep Learning," MIT Press, 2016. ==각주== 없음 [[분류:인공지능]] [[분류:딥 러닝]]
요약:
IT 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
IT 위키:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
둘러보기
둘러보기
대문
최근 바뀜
광고
위키 도구
위키 도구
특수 문서 목록
문서 도구
문서 도구
사용자 문서 도구
더 보기
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
문서 기록