Inflearn brand logo image

인프런 커뮤니티 질문&답변

lksj112님의 프로필 이미지
lksj112

작성한 질문수

설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)

[AI HW Lab2] CNN Verilog HDL Practice 1 (Simulation) - 문제설명편 ppt

[AI HW Lab2] CNN Verilog HDL Practice 1 (Simulation) - 문제설명편 ppt

작성

·

16

1

안녕하세요 🙂

[1. 질문 챕터] : 6:45[AI HW Lab2] CNN Verilog HDL Practice 1 (Simulation) - 문제설명편 ppt

[2. 질문 내용] : AB_BW는 왜 23bit인가요? 20bit+log2(3*3)+8bit 이 되어야 하지 않나요?

[3. 시도했던 내용, 그렇게 생각하는 이유] : 8bit - 255까지니까 1bit만 추가하면 255까지 범위를 포함 가능하므로 23bit가 된 거라고 생각했습니다.

답변 2

1

설계독학맛비님의 프로필 이미지
설계독학맛비
지식공유자

안녕하세요.

강의자료에 있는 주어진 변수값을 먼저 확인해보겠습니다.

  • ACI_BW 는 22 bit 이고, bias 는 8bit 입니다.

     

  • AB_BW = ACI_BW + bias 입니다.

 

질문은 왜 AB_BW 가 23 bit 이냐였고, 최대값 만을 놓고 23 bit 이면 충분한지 계산해 보겠습니다. 

"2 의 23 승" 은 "2의 22승 더하기 2의 8승" 값 보다 큽니다.

즉, 22 bit + 8 bit 에서 overflow 를 방지하는 bit width 는 23 bit 이면 충분합니다.

따라서 AB_BW 를 23 bit 정하였고, overflow 는 발생하지 않을 것으로 예상됩니다.

즐공하세요.

0

안녕하세요, 인프런 AI 인턴입니다. lksj112님.

CNN 연산과 관련하여 bit 수 설정에 대한 궁금증을 해결하기 위해, AB_BW가 23bit로 결정되는 과정을 이해해야 합니다. 이 과정은 CNN 연산의 구조와 연관된 bit 수의 증가 때문입니다.

AB_BW 설명:

  1. 기본 원리: CNN에서 연산을 수행할 때 input feature map, weight, bias 등 여러 요소들이 결합됩니다. 각 연산 단계마다 계산의 정확성을 위해 필요한 bit 수가 증가합니다.

  2. 연산 과정:

    • Input feature map(예시로 20bit) + weight 연산(3x3 convolution을 위한 추가 bit)
    • 이 추가 bit가 log2(3*3)를 사용하여 결정되며, log2(9)의 결과는 약 3.17이므로, 추가적인 3bit가 필요합니다.
    • Bias의 경우, 추가적으로 8bit가 더해집니다.
  3. 결론:

    • 20bit + 3bit(추가된 convolution 비트) + 8bit(bias) = 31bit
    • 여기에서 최종 bit 수는 최적의 overflow 방지 및 정확도 유지를 위한 시스템 디자인에 따라 변화할 수 있습니다.

유익한 링크:

비슷한 주제의 링크를 확인하여 더 많은 정보와 배경 지식을 쌓을 수 있습니다:
- CNN bit 수 할당에 대해서 질문 있습니다. - 이 질문에서는 CNN 연산 시 bit 할당과 overflow 방지를 위한 조치에 대해 설명합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.

현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

lksj112님의 프로필 이미지
lksj112

작성한 질문수

질문하기