본문 바로가기
반응형

연구실24

[AI 9주차] 심층 컨볼루션 모델(Deep convolution model) 여러 연구/논문에서 CNN의 효과적인 Building Block 구성 방법이 연구되었으며, 이런 예시들을 참고하는 것이 CNN으로 학습할 때 유용하다.  현대 Computer Vision의 토대가 되는 Classic Networks는 아래와 같은 것들이 있다.LeNet-5AlexNetVGG그리고, 이번에는 CNN에서 유용하게 사용되는 ResNet or Convolution Residual Network와 Inception Neural Network를 알아볼 것이다.  Classic NetworksLeNet-5[Input -> Conv2D -> Avg Pool -> Conv2D -> Avg Pool -> FC -> FC -> output] LeNet-5의 구조는 위와 같다. 위 논문이 작성될 시기에는 Av.. 2024. 8. 7.
[AI 8주차] Convolution Neural Network (CNN) 기초 사진이 input으로 주어지면, 우선 edge를 먼저 탐지한다고 했었다.  그렇다면, 어떻게 edge를 탐지할 수 있을까? Edge Detection 우선 사진이 주어지면, vertical edge detector 를 통해 vertical edges 를 탐지한다. 그리고, horizontal edges detector 를 통해 horizontal edges 를 탐지한다.  그렇다면, 어떻게 vertical edge 를 detect 할 수 있을까? 아래와 같이 6x6 의 grey scale image 가 있다고 해보자. (참고로, rgb channel 일 때는 6x6x3 이다.)3x3 filter (kernel) 와의 convolution 를 통해 vertical edge를 detect할 수 있다. 4x4.. 2024. 8. 5.
[Fuzzing] Lecture 2. Lexical Fuzzing : Mutation-Based Fuzzing Mutation-Based Fuzzing:  대부분의 무작위로 생성된 입력은 구문적으로 잘못되어 처리 프로그램에서 빠르게 거부된다. 입력 처리 외의 기능을 테스트하려면 유효한 입력을 얻을 가능성을 높여야 한다. 이를 위해 기존 입력에 작은 변화를 주어 유효성을 유지하면서도 새로운 동작을 유도하는 변이 퍼징(mutational fuzzing)이 있다. 이번에는 변이 생성 방법과 이를 이용해 미처 test 되지 않은 code 를 탐색하는 방법을 다룬다. 이는 유명한 AFL 퍼저(AFL fuzzer)의 핵심 개념을 적용한 것이다.   MutationFuzzer class : 기존의 유효한 입력을 변이시켜 새로운 입력을 생성하는 클래스이다.def mutate(s: str) -> str: """Return .. 2024. 8. 4.
[Fuzzing] Lecture 2. Lexical Fuzzing - Code Coverage 이전 내용에서는 program을 test하기 위해 random한 input 을 generate 하는 기본 fuzzing 에 대해서 알아봤었다.  그렇다면 이러한 test 의 효과(fuzzing의 performance)를 어떻게 측정할 수 있을까? 하나의 방법은 발견된 bug 의 수와 심각도를 확인하는 것이다. 하지만, bug가 거의 없는 경우, test가 bug를 발견할 가능성을 추정할 수 있는 대리 척도가 필요하다.  Code Coverage: test 실행 중에 program의 어느 부분이 실제로 실행되었는지를 측정하는 것이다. fuzzingbook 에서 제공하는 모듈인 Coverage 클래를 통해 python program의 coverage를 측정할 수 있다.#pip install fuzzingbo.. 2024. 8. 2.
반응형