フィックスターズのインターンに参加しました
株式会社フィックスターズにて15日間のインターンに参加しました。今回はリモートという形でしたが、結論から言うと最高でした。実施内容などの記録を残しておこうと思います。
インターンが始まるまで
自分は現在学部3回生で就職はまだ先ですが、以前からインターンに参加したいという思いがあり、普段お世話になっているAtCoderのサービスであるAtCoder Jobsで見つけたフィックスターズに応募しました。
フィックスターズに応募した理由として
- ハードルが低い
- 楽しそうなテーマが多い、しかも自分で選択できる
- 時給2000円
というのがありました。特にAtCoder水以上で応募できるのはとてもありがたかったです。
テーマには高速化が多かったですが、画像認識の勉強がしたかったので「物体検出モデルNanoDetの調査」となりました。
インターンの選考にはコーディング試験がありますが、初めて人に見られながらコーディングしたのでとても緊張しました。
実施内容
Git
Gitを普段使わないのでこの機会に学べてとてもありがたかったです。業務でもバリバリ使いました。
Docker
Dockerを使ってみたいとは思っていたので、この機会に学べてGit同様とてもありがたかったです。
NanoDet
まず推論の再現をしました。ちゃんと物体を検出できている画像が出力されたときは感動しました。
次に学習の再現をしました。学習にはだいたい2~3日かかったのでその間にNanoDetに関連する論文を読んでいました。Nanodetに関するドキュメントがとても少なく、苦労しました。
インターン期間中に読んだ論文は以下の5つです
- Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Training Sample Selection
- Generalized Focal Loss: Learning Qualified and Distributed Bounding Boxes for Dence Object Detection
- ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design
- Path Aggregation Network for Instance Segmentation
学習の再現もできたので、
- backboneをEfficientNet-Lite2に変更
- Channel Shuffle部分をPointwise convolutionに変更
の2通りを実験しました。
結果としてREADME.mdで報告されている精度に近い値を出すことができました。
モデルによって推論結果が全然違うのでとてもびっくりしていました。
成果報告会
インターンの14日目に自分の実施内容を成果報告会で発表しました。たくさんの方に聞いていただき嬉しい反面、とても緊張しました。
また発表のためのスライド作成についても、丁寧に添削していただき、とてもありがたかったです。
その他
- 初日に機材トラブルがありましたが迅速な対応をしていただき、翌日には新しいPCが届きました。正直早すぎてびっくりしました。本当にありがとうございました。
- お昼ご飯としてお寿司、焼肉弁当×2を食べさせていただきました。どれもとてもおいしかったです。
- ほかのインターン生とランチをする機会がありました。みんな強くて良い刺激になりました。
- メンターさんが強かったです。何から何までとてもお世話になりました。
- 勉強会に参加させていただきました。有志での開催らしいですが、多くの人が参加しており、技術が好きなのが感じ取れました。内容的にもとてもためになりました。
- おやつタイムにも参加させていただきました。主に技術やアニメなどいろいろな話がされていて楽しかったです。
まとめ
リモートなのでどうなるんだろうという気持ちはありましたが、大満足なインターンとなりました。メンターさんには技術的な質問などよく面倒を見ていただき感謝しかないです。本当に良いインターンなので興味がある方はぜひ参加してみるといいと思います。最後になりますが、AtCoder様、フィックスターズ様、本当にありがとうございました。
応用情報技術者試験に合格しました
はじめに
タイトルの通り2020年10月に行われた応用情報技術者試験に合格することができたので、勉強時間や勉強方法などを軽くまとめていこうと思います。
成績
午前が大成功しました。午後はだいだい実力通りだと思います。
やったこと
本番1か月前から過去問道場で午前の過去問演習に取り組みました。しかしあまりやる気が出ず、1日10問程度で2400問中の147問しか解きませんでした。正答率も60%からは程遠かったです。
これでは合格できないと思い、2週間前から新しい順に回ごとに解く方法に変えました。これによって午前全体の雰囲気もつかめ、まんべんなく勉強できました。2回ほど終わると正答率は60%を超えるようになり、4回やったころには75%付近になりました。
午前の目途が立ってきたので1週間前から午後に取り組みました。午後の勉強は
- 2020 応用情報技術者 午後問題の重点対策(重点対策シリーズ)
で勉強しました。
最終的に、この本の
- 情報セキュリティ
- プログラミング
- ネットワーク
- 組込みシステム開発
- プロジェクトマネジメント
- サービスマネジメント
- システム監査
を全部解きました。国語が比較的得意だったのと時間がなかったので国語問題多めにしました。
こんな感じで午前午後合わせて合計40-50時間ぐらいは勉強したのではないかと思います。
振り返り、感想など
- 午前は回ごとにやった方が傾向や全体の雰囲気をつかめてよい
- 午前は同じもしくは類題が頻出なので間違えた問題は必ず正解の選択肢を覚える。余裕があるならすべての選択肢を理解し、類題対策をする
- 間違えた問題の解き直しはとても大事
- 午前は5回分で十分、10回もやればほとんど確実に6割取れそう
- 2020 応用情報技術者 午後問題の重点対策(重点対策シリーズ)がとても良い
- 午前の本番は全くわからない問題が多く、かなり直感と国語力に頼った
- 午後は体感国語が例年より難しかったが点数は自己採点よりもらえていた
余談
試験当日は過去問道場が落ちる可能性があるので前日までに完成させましょう。(当日間違えた問題を解いている最中に落ちて絶望していました)
おわりに
この記事がこれから受験する方や応用情報に興味がある方にとって少しでも参考になれば幸いです。最後までお読みいただきありがとうございました。
AtCoder水色になりました
AtCoder Regular Contest 107で、水コーダーになることができました。目標としていた水色になれてとても嬉しいです。
そこで恒例の色変記事を書いていこうと思います。
自己紹介
所属:国公立大学 学部3回生
専攻:電気電子情報
プログラミング歴:学部2回生から(本格的な競技プログラミング歴は7か月ほど)
水色までの振り返り
灰
大学、サークル中心の生活をしていました。土曜日に予定が入ることが多かったため、あまりコンテストに出れず、競技プログラミングに対するモチベもありませんでした。
茶
茶色になってからも特に灰色の時と変わりませんでしたが、コロナが流行し始めるとサークルの活動もなくなり、コンテストの時間が取れるようになったのでコンテストに出るようになりました。それまではアルゴリズムは特に勉強していなかったのですが、AtCoder Beginner Contest 162で灰パフォをとってしまい、これではいけないとE869120さんの精選100問を進めました。
緑
半分近く解いたところで緑になり、終わるころにはレートは1000ほどになっていました。しかし学習したアルゴリズムを使いこなせるレベルまで達していなかったのでABC埋めを始めました。またCodeForcesを始め、4回目のコンテストで青になりました。
水
緑水diffの正答率が上がってきて、水パフォが取れることが多くなり、入水しました。実装力、考察力ともに緑のころよりだいぶ上がっていたと思います。
水色になるまでに勉強したアルゴリズム
重要度:高 (よく使う)
- 全探索
- bit全探索
- 順列全探索
- 二分探索
- 深さ優先探索
- 幅優先探索
- ナップザックDP
- ダイクストラ法
- ワーシャルフロイド法
- 素数判定
- エラトステネスの篩
- べき乗計算
- 逆元
- 累積和
- imos法
- Union-Find
- 包除原理
重要度:中 (たまに使う)
重要度:低 (ほとんど使ったことがない)
- クラスカル法
- ダブリング
- 木の直径
- Z-Algorithm
- 半分全列挙
- 行列累乗
精進データ
精進方法
E869120さんの精選100問
水色を目指すのに必要なアルゴリズムの学習に最適だと思います。水色を目指している人はぜひ取り組むのをおすすめします。
ABC埋め
教育的な問題が多く、とても勉強になります。主に緑水diffに取り組んで、ある程度埋まってきたら青diffにも挑戦していました。
また低難度のものも取り組むことでパフォーマンスの下限を上げることができます。
AtCoderProblems Recommendation
自分のレベルにあった精進ができます。私は主にMedium, Hardを進めていました。問題を選ぶ手間が省けておすすめです。
CodeForces div.2, div.3
Twitterで定期的にバチャが開催されているので時間があるときは参加しています。
まとめと今後の目標
AtCoderを始めた時は完全な初心者でしたが、なんとか水色になることができました。次はAtCoder青、CodeForces紫を目指して頑張っていこうと思います。
現時点での自分の最終目標は黄色になることなので、これからも腐らず精進していきます。
最後までお読みいただきありがとうございました。