본문 바로가기

전체 글86

[ c++ ] 2차원 배열 초기화하기 / fill 함수 너무 기본적이지만 가끔 헷갈릴 때가 있는 2차원 배열 초기화하기.. 가장 좋은 방법은 fill 함수를 쓰는 것! fill 함수의 구조는 다음과 같다. #include void fill (ForwardIterator first, ForwardIterator last, const T& val); first : 배열이나 vector와 같은 iterator의 시작 주소 last : 채우고 싶은 마지막 주소 val : 채우고 싶은 값 n x m 배열에 대해서 초기화를 진행한다. int arr[500][500]; int n, m; cin >> n >> m; for (int i=0; i 2023. 6. 16.
[ c++ ] 공백 없이 입력받은 값을 2차원 배열로 만들기 위의 예시처럼 공백 없이 여러 줄 입력받은 값을 2차원 배열로 만들고 싶을 때 어떻게 해야 할지 헷갈려서 정리해보았다. 출처 : https://aeunhi99.tistory.com/160 int n, m; cin >> n >> m; string str; int input_arr[500][500]; for (int i=0;i> str; for (int j=0;j 2023. 6. 15.
Google I/O 2023 4가지 정리 미라클레터 2023.5.11 598호를 참고하여 작성한 게시글입니다. Google I/O은 구글이 실리콘밸리에서 여는 연례 개발자 컨퍼런스로, 개방형 기술을 공개하는 테크 축제이다. https://io.google/2023/intl/ko/ Google I/O 2023 Tune in to watch the latest news and innovations from Google. Join I/O for livestreamed keynotes and helpful product updates on demand. io.google "Google은 인공지능 기업으로의 여정을 시작한 지 7년이 지난 현재 변곡점에 위치해 있다. 인공지능을 사람, 기업, 커뮤니티, 모든 사람에게 유용하게 만들도록 하겠다" 1. 초거대.. 2023. 6. 9.
[ CNN ] ResNet / 층이 깊어지면 성능도 좋아지게! 마이크로소프트에서 개발한 알고리즘인 ResNet은 '층이 깊어지면 성능도 좋아질까?'에 대한 의구심으로 시작되었다. 우리의 일반적인 생각으로는 신경망의 층이 깊어질수록 성능도 좋아질 것이라고 생각되지만, 실제로 층의 개수가 성능을 보장하는 것은 아니었다. 20층일 때보다 56층일 때 training error와 test error 모두 더 높은 것으로 보이는데, 이는 오버피팅으로 인한 성능 저하가 아니라는 것을 알려준다. "plain convolutional neural network"를 여러 층 쌓았기 때문에 발생한 것으로, 층을 깊게 쌓을 수록 1) Gradient Vanishing 또는 Gradient Explosion 2) Degradation Problem 이 발생한다. 이를 해결할 방법으로는 .. 2023. 6. 7.