{
  "id": 75768,
  "title": "Using GAN ...",
  "url": "/competitions/human-protein-atlas-image-classification/discussion/75768",
  "author_name": "",
  "post_date": "2018-12-26T09:54:14.962939300Z",
  "votes": 5,
  "comment_count": 5,
  "views": 0,
  "content": "<p>The idea is given an image with multi-label a,b,c, can you create image of </p>\n\n<ul>\n<li>label a,b  (synthetic removal of label)</li>\n<li>label a,b,c, k (synthetic addition of label) ?</li>\n</ul>\n\n<p>A cheap way to do the same thing without GAN is to cut and paste from other images or  erase part of the images :)</p>\n\n<p>see below:\n   <img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/445369/10934/Slide3.png\" alt=\"enter image description here\"></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/445369/10936/Slide4.png\" alt=\"enter image description here\"></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/445369/10937/Slide5.png\" alt=\"enter image description here\"></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/445369/10935/Slide8.png\" alt=\"enter image description here\"></p>",
  "messages": [
    {
      "id": "445369",
      "postDate": "12/26/2018 09:54:14",
      "content": "<p>The idea is given an image with multi-label a,b,c, can you create image of </p>\n\n<ul>\n<li>label a,b  (synthetic removal of label)</li>\n<li>label a,b,c, k (synthetic addition of label) ?</li>\n</ul>\n\n<p>A cheap way to do the same thing without GAN is to cut and paste from other images or  erase part of the images :)</p>\n\n<p>see below:\n   <img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/445369/10934/Slide3.png\" alt=\"enter image description here\"></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/445369/10936/Slide4.png\" alt=\"enter image description here\"></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/445369/10937/Slide5.png\" alt=\"enter image description here\"></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/445369/10935/Slide8.png\" alt=\"enter image description here\"></p>",
      "rawMarkdown": "The idea is given an image with multi-label a,b,c, can you create image of \n\n -  label a,b  (synthetic removal of label)\n -  label a,b,c, k (synthetic addition of label) ?\n\nA cheap way to do the same thing without GAN is to cut and paste from other images or  erase part of the images :)\n\nsee below:\n   ![enter image description here][1]\n\n   ![enter image description here][2]\n\n   ![enter image description here][3]\n \n   ![enter image description here][4]\n\n\n  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/445369/10934/Slide3.png\n  [2]: https://storage.googleapis.com/kaggle-forum-message-attachments/445369/10936/Slide4.png\n  [3]: https://storage.googleapis.com/kaggle-forum-message-attachments/445369/10937/Slide5.png\n  [4]: https://storage.googleapis.com/kaggle-forum-message-attachments/445369/10935/Slide8.png",
      "votes": null
    },
    {
      "id": "445376",
      "postDate": "12/26/2018 10:12:57",
      "content": "<p>I tried dropping green channel. It increased train loss a little bit (so it worked as a slight regularization as a matter of fact) but it didn't affect validation loss and f1-score at all.\nAs far as I understand, it is quite easy for a CNN to learn that empty channel corresponds to empty labels, so network simply memorizes this rule instead of actually learning something useful.</p>",
      "rawMarkdown": "I tried dropping green channel. It increased train loss a little bit (so it worked as a slight regularization as a matter of fact) but it didn't affect validation loss and f1-score at all.\nAs far as I understand, it is quite easy for a CNN to learn that empty channel corresponds to empty labels, so network simply memorizes this rule instead of actually learning something useful.",
      "votes": null
    },
    {
      "id": "445379",
      "postDate": "12/26/2018 10:18:11",
      "content": "<p>for my case, \"dropped channel\" and \"original\" occurs together in a training batch. </p>\n\n<p>From the class activation map, the network seems to learn something as the correct region is identified. </p>\n\n<p>I use AUC (area under recall-precision curve) for metric metering. There is slight improvement for AUC.</p>",
      "rawMarkdown": "for my case, \"dropped channel\" and \"original\" occurs together in a training batch. \n\nFrom the class activation map, the network seems to learn something as the correct region is identified. \n\nI use AUC (area under recall-precision curve) for metric metering. There is slight improvement for AUC.",
      "votes": null
    },
    {
      "id": "445435",
      "postDate": "12/26/2018 12:58:45",
      "content": "<p>some experiments on single label and multi label images. I train a single class classifier for my experiments:</p>\n\n<ol>\n<li><p>Train = single label only </p></li>\n<li><p>Train = single + multi label</p></li>\n</ol>\n\n<p>In generally, </p>\n\n<ul>\n<li>classifier-1 has less false-positive than classifier-2. </li>\n<li>classifier-2 perform better then classifier-1 for multi-label images</li>\n</ul>",
      "rawMarkdown": "some experiments on single label and multi label images. I train a single class classifier for my experiments:\n\n1. Train = single label only \n\n2. Train = single + multi label\n\nIn generally, \n\n  -  classifier-1 has less false-positive than classifier-2. \n  -  classifier-2 perform better then classifier-1 for multi-label images",
      "votes": null
    },
    {
      "id": "445667",
      "postDate": "12/26/2018 22:36:55",
      "content": "<p>Thanks Heng! We always leant a lot of valuable methodologies from what you shared.</p>",
      "rawMarkdown": "Thanks Heng! We always leant a lot of valuable methodologies from what you shared.",
      "votes": null
    },
    {
      "id": "445950",
      "postDate": "12/27/2018 09:03:27",
      "content": "<p>Yeah, I tried similar approach.\nI am not sure about how it affected model internals (I didn't research it with activation maps or other tools like shap), but neither my f1 nor loss were improved.</p>\n\n<p>Maybe it depends on other training settings which differ in your pipeline and in mine.\nI look forward to studying your code after the end of the competition (I hope you will publish source code), because the tricks described in this post are quite impressive. Thank you for sharing!</p>",
      "rawMarkdown": "Yeah, I tried similar approach.\nI am not sure about how it affected model internals (I didn't research it with activation maps or other tools like shap), but neither my f1 nor loss were improved.\n\nMaybe it depends on other training settings which differ in your pipeline and in mine.\nI look forward to studying your code after the end of the competition (I hope you will publish source code), because the tricks described in this post are quite impressive. Thank you for sharing!",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 445376,
      "author_name": "hokmund",
      "author_url": "",
      "post_date": "12/26/2018 10:12:57",
      "content": "<p>I tried dropping green channel. It increased train loss a little bit (so it worked as a slight regularization as a matter of fact) but it didn't affect validation loss and f1-score at all.\nAs far as I understand, it is quite easy for a CNN to learn that empty channel corresponds to empty labels, so network simply memorizes this rule instead of actually learning something useful.</p>",
      "votes": null,
      "replies": [
        {
          "id": 445379,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "12/26/2018 10:18:11",
          "content": "<p>for my case, \"dropped channel\" and \"original\" occurs together in a training batch. </p>\n\n<p>From the class activation map, the network seems to learn something as the correct region is identified. </p>\n\n<p>I use AUC (area under recall-precision curve) for metric metering. There is slight improvement for AUC.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 445950,
          "author_name": "hokmund",
          "author_url": "",
          "post_date": "12/27/2018 09:03:27",
          "content": "<p>Yeah, I tried similar approach.\nI am not sure about how it affected model internals (I didn't research it with activation maps or other tools like shap), but neither my f1 nor loss were improved.</p>\n\n<p>Maybe it depends on other training settings which differ in your pipeline and in mine.\nI look forward to studying your code after the end of the competition (I hope you will publish source code), because the tricks described in this post are quite impressive. Thank you for sharing!</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 445435,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "12/26/2018 12:58:45",
      "content": "<p>some experiments on single label and multi label images. I train a single class classifier for my experiments:</p>\n\n<ol>\n<li><p>Train = single label only </p></li>\n<li><p>Train = single + multi label</p></li>\n</ol>\n\n<p>In generally, </p>\n\n<ul>\n<li>classifier-1 has less false-positive than classifier-2. </li>\n<li>classifier-2 perform better then classifier-1 for multi-label images</li>\n</ul>",
      "votes": null,
      "replies": []
    },
    {
      "id": 445667,
      "author_name": "lszhang",
      "author_url": "",
      "post_date": "12/26/2018 22:36:55",
      "content": "<p>Thanks Heng! We always leant a lot of valuable methodologies from what you shared.</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "445369": "The idea is given an image with multi-label a,b,c, can you create image of \n\n -  label a,b  (synthetic removal of label)\n -  label a,b,c, k (synthetic addition of label) ?\n\nA cheap way to do the same thing without GAN is to cut and paste from other images or  erase part of the images :)\n\nsee below:\n   ![enter image description here][1]\n\n   ![enter image description here][2]\n\n   ![enter image description here][3]\n \n   ![enter image description here][4]\n\n\n  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/445369/10934/Slide3.png\n  [2]: https://storage.googleapis.com/kaggle-forum-message-attachments/445369/10936/Slide4.png\n  [3]: https://storage.googleapis.com/kaggle-forum-message-attachments/445369/10937/Slide5.png\n  [4]: https://storage.googleapis.com/kaggle-forum-message-attachments/445369/10935/Slide8.png",
    "445376": "I tried dropping green channel. It increased train loss a little bit (so it worked as a slight regularization as a matter of fact) but it didn't affect validation loss and f1-score at all.\nAs far as I understand, it is quite easy for a CNN to learn that empty channel corresponds to empty labels, so network simply memorizes this rule instead of actually learning something useful.",
    "445379": "for my case, \"dropped channel\" and \"original\" occurs together in a training batch. \n\nFrom the class activation map, the network seems to learn something as the correct region is identified. \n\nI use AUC (area under recall-precision curve) for metric metering. There is slight improvement for AUC.",
    "445435": "some experiments on single label and multi label images. I train a single class classifier for my experiments:\n\n1. Train = single label only \n\n2. Train = single + multi label\n\nIn generally, \n\n  -  classifier-1 has less false-positive than classifier-2. \n  -  classifier-2 perform better then classifier-1 for multi-label images",
    "445667": "Thanks Heng! We always leant a lot of valuable methodologies from what you shared.",
    "445950": "Yeah, I tried similar approach.\nI am not sure about how it affected model internals (I didn't research it with activation maps or other tools like shap), but neither my f1 nor loss were improved.\n\nMaybe it depends on other training settings which differ in your pipeline and in mine.\nI look forward to studying your code after the end of the competition (I hope you will publish source code), because the tricks described in this post are quite impressive. Thank you for sharing!"
  },
  "source": "meta"
}